2017-08-14 5 views
0

Google Sheets, je voudrais remplacer le texte suivant:feuilles Google REGEXREPLACE() remplacer le texte par lui-même

The ANS consists of fibers that stimulate ((1smooth muscle)), ((2cardiac muscle)), and ((3glandular cells)).

avec ce texte ci-dessous:

The ANS consists of fibers that stimulate {{c1::smooth muscle}}, {{c2::cardiac muscle}}, and {{c3::glandular cells}}.

I savoir si j'utilise =REGEXREPLACE(E3, "\(\([0-9]*", "{{c::") Je peux me rendre ici:

The ANS consists of fibers that stimulate {{c::smooth muscle)), {{c::cardiac muscle)), and {{c::glandular cells)).

MAIS je ne sais pas comment garder les chiffres d'origine

Répondre

1

Nvm, compris. Mettre des parenthèses autour du terme vous permet de le référencer à nouveau dans votre chaîne de remplacement.

Par exemple, ma solution à mon problème était:

=REGEXREPLACE(E3, "\(\(([0-9]*)", "{{c$1::")

Cela fonctionne parce que mettre [0-9]* entre parenthèses comme ceci: ([0-9]*) lui a permis d'être référencé comme $1 dans ma chaîne de substitution.

Je suppose que si j'avais une autre phrase entre parenthèses après cela, il serait possible d'être référencé avec $2.

J'espère que cela aidera quelqu'un dans le futur.

1

Pass 1:

Recherche Motif: (((\ d) (+)

remplacement:. {{C 1 $ :: 2

$ Passe 2:

Motif de recherche :))

Replacment:}}

je joue avec elle un peu plus et cela va faire en un seul passage:

modèle de recherche: \(\((\d)(.+?)\b\)\)

Remplacements: {{C$1::$2}}