2010-10-04 5 views
0

Je tente de remplacer la chaîne "Resources.AppResource.Info;" comme ceci "Switch (" Info ");" Est-ce possible avec regex?regex remplacer au milieu

+0

Quelle est la langue? –

+1

Lorsque vous voulez une solution d'expression régulière, vous devez d'abord réfléchir à la nécessité d'une expression régulière. Si vous avez un seul cas de recherche et de remplacement, les expressions régulières ne sont pas nécessaires. Si vous avez plus de cas, vous devriez en inclure d'autres, ainsi les régularités entre ces cas peuvent être vues correctement. A partir de maintenant, il y a trop de possibilités différentes pour correspondre à ce cas unique, pour vous donner une bonne réponse. – poke

+0

@ ring0: Pourquoi avez-vous besoin de la langue? Les expressions régulières sont complètement indépendantes de la langue, et fournir une chaîne de correspondance et de remplacement devrait suffire à la faire fonctionner. – poke

Répondre

0

Est-ce C#? Si c'est le cas, alors cela fonctionnera:

Regex.Replace("Resources.AppResource.Info;", @"Resources\.AppResource\.(\w+);", @"Switch(""$1"")") 
0

Vous devez inclure le langage de programmation avec lequel vous travaillez. Et je devine son C#.

string info = System.Text.RegularExpressions.Regex.Replace("Resources.AppResource.Info;", @"\w+\.\w+\.(\w+);", "Switch($1);"); 
0

Votre question est source de confusion, un exemple de code serait vraiment utile, avec l'entrée et la sortie attendue. Comment le milieu de la corde aide-t-il?

Si je comprends bien, vous voudrez probablement remplacer une chaîne par une autre.

Voici quelques sed, quelque chose de similaire fonctionnerait pour vi et perl

s/Resources\.AppResource\.Info/Switch\("Info"\)\;/ 

Cela travaillerait en rubis

app_string.gsub("Resources.AppResource.Info;", 
       'Switch("Info")';