2010-04-14 6 views
1

comment supprimer un seul char (") si deux (" ") de la chaîne en C# (Regex)question Regex en C#

ex .:

123"43""343"54"" ==> 123"43"343"54" 

"abc""def"gh""i ==> "abc"def"gh"i 

remercient à l'avance

Répondre

2

someString.Replace(@"""""",@""""); devrait fonctionner, devrait-il pas?

while (someString.IndexOf(@"""""") > -1) 
{ 
    someString = someString.Replace(@"""""",@""""); 
} 
+0

cool !!, merci! et comment je peux supprimer "du début et de la fin d'une chaîne? – Gold

+0

Vous n'avez pas besoin de la boucle while.String.Replace avec remplacer toutes les instances – juharr

+0

@juharr, ceci est codant pour le scénario où il y a des instances de 2 * ou plus * guillemets d'affilée. –

4

Vous ne avez pas besoin regex pour cela. Juste pour la recherche sous-chaîne "" et le remplacer par "

+0

Voir http://fr.csharp-online.net/CSharp_Regular_Expression_Recipes%E2%80%94Replacing_Characters_or_Words_in_a_String pour des exemples –

0
Regex regExp = new Regex("\"\""); 
string test = "123\"\"123\"\"123"; 
string tempTxt = regExp.Replace(test, "\""); 

Quelque chose comme ça? Mais oui, je pense que Regex n'est pas un bon choix ici.