2010-06-22 101 views
0

這可能太簡單了,但我不知道從哪裏開始。有關C子串的簡單問題#

我有像 「 '02HEX'aspoodsasas'CR''LF'」

現在我想提取炭(02)和炭(12)之間的刺蜇傷;

直到現在我也下

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

我的問題是如何確定我的子字符串的長度,如果我知道我的字符串

回答

8

起始字符和我結束字符的位置的位置只是減去:

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

(這是假設你要的字符在位置210 - 如果你這樣做,只需要添加一個)

例如:

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

謝謝,我真的需要更多的睡眠,當我看到我堆疊的位置。 – adopilot 2010-06-22 09:55:16

+0

謝謝。但SubString(startPoint,endPoint)經常本能地出現。 – zionpi 2013-05-10 02:04:03

1

簡單的減法應該做的伎倆。結束位置 - 開始位置(減去第一個令牌的長度)