2011-09-08 3 views
2

J'ai cette chaîneutilisation C# string split avec délimiteurs multiples

"abc,\u000Bdefgh,\u000Bjh,\u000Bkl"

et je dois diviser la chaîne en C#, chaque fois que ,\u000B apparaît devrait être un nouveau mot.

J'ai essayé ceci:

string[] newString = myString.Split(",\u000B"); 

mais cela n'a pas fonctionné, comment puis-je faire cela?

+1

Il s'agit d'un seul délimiteur de deux caractères. Comment ça ne marche pas? – BoltClock

+0

@BoltClock - Probablement puisqu'il n'y a pas de surcharge de Split qui ne prend qu'une seule chaîne en paramètre. –

+2

Je sais, j'invitais le PO à dire plus que "ça ne marchait pas". – BoltClock

Répondre

10

Changer votre commande Fractionner à ceci:

string[] newString = ip.Split(new[]{",\u000B"}, StringSplitOptions.RemoveEmptyEntries); 

Ou utilisez, StringSplitOptions.None si vous souhaitez conserver les entrées vides en partage.

2
 string myString = "abc,\u000Bdefgh,\u000Bjh,\u000Bkl"; 

     string[] a = myString.Split(new string[] { ",\u000B" }, StringSplitOptions.RemoveEmptyEntries); 
+0

Merci, mais j'ai accepté la première réponse que j'ai reçue. – Ovi

+2

:) en fait, j'étais plus rapide pour une minute, mais peu importe. La réponse que vous avez acceptée semble plus expliquée – Samich

3
string[] newString = myString.Split(new string[] { ",\u000B" }, StringSplitOptions.None); 

Travaux sur ma machine

+0

Merci, mais j'ai accepté la première réponse que j'ai eu – Ovi

0

Vous pouvez utiliser la notation d'échappement court caractère: "\ v" à la place.

Short UTF-16 Description 
-------------------------------------------------------------------- 
\'  \u0027 allow to enter a ' in a character literal, e.g. '\'' 
\"  \u0022 allow to enter a " in a string literal, e.g. "this is the double quote (\") character" 
\\  \u005c allow to enter a \ character in a character or string literal, e.g. '\\' or "this is the backslash (\\) character" 
\0  \u0000 allow to enter the character with code 0 
\a  \u0007 alarm (usually the HW beep) 
\b  \u0008 back-space 
\f  \u000c form-feed (next page) 
\n  \u000a line-feed (next line) 
\r  \u000d carriage-return (move to the beginning of the line) 
\t  \u0009 (horizontal-) tab 
\v  \u000b vertical-tab