Как извлечь подстроку из неопределенной длины строки? - PullRequest
0 голосов
/ 08 мая 2011

Подстрока этих строк: -

1. ZZ111122
2. ZZZZ222111
3. ZZZZZZZ333
4. ZZZ111333

У меня есть такие струны. Это значение всегда начинается с Z. А после Z его всегда либо 1, либо 2, либо 3. Но я не знаю количество Zs в строке. Так как я могу извлечь все Z из строки

Ответы [ 6 ]

4 голосов
/ 08 мая 2011

Я не знаю, правильно ли я понял.Если у вас есть «ZZZZ222111» и вы хотите только «222111», сделайте это:

string test = "ZZZZ222111";
test = test.Substring(test.LastIndexOf("Z") + 1);

Если вы хотите только «ZZZZ», сделайте это:,Нет необходимости в циклах или регулярных выражениях.

1 голос
/ 08 мая 2011

Использование String.Trim Функция:

ZeroZValue = stringValue.Trim('Z');
1 голос
/ 08 мая 2011

Похоже, вы захотите использовать для этого регулярные выражения .

0 голосов
/ 08 мая 2011
int start = someString.IndexOf("Z");
int end = someString.LastIndexOf("Z");
someString.Substring(start , end - start);
0 голосов
/ 08 мая 2011
String test = "ZZ111122";
String zOnly = test.Substring(0, test.IndexOfAny("123".ToCharArray()));

Воспользуйтесь IndexOfAny().Я предполагаю, что вы хотите, чтобы остались только Z («извлечь все Z из строки»).

0 голосов
/ 08 мая 2011

Это не сложно. Я рекомендую обрабатывать текст построчно.

Вы можете зациклить строку символ за символом. Вы можете использовать регулярные выражения. Или вы можете использовать мой класс замены sscanf () для C # .

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