2010-06-22 4 views
0

C'est peut-être trop facile mais je ne sais pas par où commencer.question simple sur la sous-chaîne en C#

J'ai piqûres comme " '02HEX'aspoodsasas'CR''LF'"

Maintenant, je veux extraire les piqûres entre char (02) et char (12);

Jusqu'à présent, je ne suit

string s = string.Format("{0}{1}{2}", (char)02, "12345678", (char)12); 
int chindx = s.IndexOf((char)02)+1; 
s = s.Substring(chindx, 8) 

Mon problème est de savoir comment déterminer la longueur de mon sous-chaîne si je connais la position de caractère de départ et la position de mon caractère de fin dans ma chaîne

Répondre

8

Il suffit de soustraire:

string middle = text.Substring(start, end - start); 

(C'est en supposant que vous ne pas voulez le caractère à la position end - si vous le faites, ajoutez juste un)

Par exemple:.

string text = "hi there"; 
int start = 3; // 't' 
int end = 6; // 'r' 
string middle = text.Substring(start, end - start); // "the" 
+0

Merci, j'ai vraiment besoin de plus de sommeil, Quand je vois où je m'empile. – adopilot

+0

Merci. Mais SubString (startPoint, endPoint) sort souvent instinctivement. – zionpi

1

Une simple soustraction devrait faire l'affaire. Position finale - Position de départ (moins la longueur du premier jeton)