2010-11-01 6 views

Répondre

10

Dans une chaîne normale, vous utilisez \\

Si cela est dans une expression régulière, il doit être \\\\

La raison RegEx a besoin de quatre est parce que les deux l'analyseur de chaîne et échappe support du moteur RegEx. Par conséquent, \\\\ est analysé à \\ par l'analyseur de chaînes puis à un \ littéral par l'analyseur RegEx.

4

Escape the caractère d'échappement: "\\"

+0

J'ai annulé mon édition originale à ce poste parce que je n'étais pas sûr de savoir ce que vous aviez l'intention d'écrire :) –

+0

Pas de soucis. Tout est fixé maintenant. :) – Starkey

0

Vous échapper à certains caractères en ajoutant "\" devant le caractère.

Donc \\ fonctionnera pour vous.

0

Utilisez deux \ dans la chaîne

String example = "C:\\Program Files"; 
0
string = @"c:\inetpub\wwwroot\" 

est le même que

string = "c:\\inetpub\\wwwroot\\" 

dans certains cas ... je ne suis pas sûr à 100%, mais je pense que ce pourrait être la langue Dépendant ... Je sais que "@" fonctionne en C#

+0

Ceci est Java, pas C#, donc la syntaxe '@" "' ne fonctionne pas. – Powerlord

+0

Bien sûr, cela dépend de la langue :). Et ça ne marche pas en Java. – Klark

+0

bien que l'op ne mentionne pas la langue, il n'a jamais été mentionné avant son deuxième commentaire que c'était java ... et ce n'est pas marqué comme java, ça aurait pu être une réponse valable. – Patrick

0

Vous pouvez écrire:

String newstr = "\\"; 

\ est un caractère spécial dans une chaîne utilisée pour l'échappement.

"\" fonctionne maintenant car il échappe à la seconde ".

Pour obtenir un littéral \ vous devez lui échapper en utilisant \.

Questions connexes