2010-06-05 6 views
0

J'ai le texte suivant:Aidez-moi Rédaction d'une expression régulière simple

txtAddressSup.Text 

Je veux que le Sup à remplacer par Cus alors que le texte reste tout de même que. J'ai beaucoup de textes qui sont dans ce format:

xxxxxxxSup.xxxxx 
+0

Si vous ne fournissez pas plus d'informations, toutes les solutions remplaceront CHAQUE occurrence de la chaîne "Sup" par "Cus". Comme votre texte d'exemple semble partie d'un programme, peut-être que ce n'est pas ce que vous voulez –

+0

En fait, je veux une sorte de regexp que chaque fois qu'il y a le mot Sup dans le code source, il devrait être remplacé par Cus. Cette expression rationnelle fonctionnera sur un outil d'édition appelé Rechercher et remplacer qui me permet d'éditer le bloc de code source volumineux. – peace

+1

Faites-vous cela en utilisant le "Rechercher et remplacer" de Visual Studio? –

Répondre

2

On ne sait pas de votre question mais je suppose que vous faites cela dans Visual Studio. Visual Studio utilise une étrange marque d'expressions régulières incompatible avec la plupart des autres moteurs. Essayez ceci:

 
Find: {:i}Sup{\.:i} 
Replace: \1Cus\2 

Explication:

 
{...} Tag expression (usually called a capturing group in other engines) 
:i Identifier 
Sup Literal string "Sup" 
\. Literal string "." 

Pour obtenir de l'aide non plus voir the description of the syntax for Visual Studio regular expressions on MSDN ou appuyez sur le triangle noir à côté des champs d'entrée pour obtenir une aide rapide.

+0

+1 pour la réponse du studio visuel. –

+0

Merci. C'est ce que je cherchais. – peace

1

Pourquoi avez-vous besoin d'utiliser regex? Une simple chaîne ne remplacera-t-elle pas le travail?

myString = myString.Replace("Sup.","Cus."); 
+0

J'ai besoin de l'expression rationnelle pour l'exécuter dans l'option find and replace pour éditer un gros bloc de code. – peace

+0

dans l'ide? Ou pouvez-vous simplement ouvrir le fichier de code dans un programme, lire le fichier entier en tant que chaîne, faire le remplacement et ensuite écrire la chaîne résultante comme le nouveau fichier ... –

1

Le regex pour correspondre à ceux serait (commune syntaxe Regex, pas celui de Visual Studio):

\BSup(?=\.\w+) 

remplacer seulement les matchs avec Cus

+0

J'utilise cette expression rationnelle dans la recherche et le remplacement option, ce qui m'aide à faire un montage massif. – peace

+0

Dans ce cas, vous devriez plutôt utiliser le refactoring "Rename ...", car search-replace ne fonctionne généralement pas comme prévu (plus que ce qu'il devrait, etc.). – Lucero

Questions connexes