простой вопрос о подстроке в C # - PullRequest
0 голосов
/ 22 июня 2010

Возможно, это слишком просто, но я не знаю, с чего начать.

У меня есть такие укусы, как "'02HEX'aspoodsasas'CR''LF'"

Теперь я хочуизвлекать строки между char (02) и char (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)

Моя проблема заключается в том, как определить длину моей подстроки, если я знаю положение начального символаи положение моего последнего символа в моей строке

Ответы [ 2 ]

8 голосов
/ 22 июня 2010

Просто вычтите:

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

(Это предполагает, что вы не хотите, чтобы символ находился в позиции end - если вы это сделаете, просто добавьте его.)

Например:

string text = "hi there";
int start = 3; // 't'
int end = 6; // 'r'
string middle = text.Substring(start, end - start); // "the"
1 голос
/ 22 июня 2010

Простое вычитание должно помочь. Конечная позиция - Начальная позиция (за вычетом длины первого токена)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...