如何从未定义的字符串长度中提取子字符串?

时间:2011-05-08 14:47:24

标签: c# string

子串这些字符串: -

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

我有这些字符串。此值始终以Z开头。在Z之后,它始终为1或2或3.但我不知道字符串中的Z数。那么如何从字符串中提取所有Z

6 个答案:

答案 0 :(得分:4)

我不知道我是否理解正确。如果您有“ZZZZ222111”并且只想要“222111”,请执行以下操作:

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

如果您只想要“ZZZZ”,请执行以下操作:

string test = "ZZZZ222111";
test = test.Substring(0, test.LastIndexOf("Z"));

两种方式都非常简单。不需要循环或正则表达式。

答案 1 :(得分:1)

听起来你会想要使用regular expressions

答案 2 :(得分:1)

使用String.Trim功能:

ZeroZValue = stringValue.Trim('Z');

答案 3 :(得分:0)

这并不困难。我建议逐行处理文本。

您可以逐个字符循环字符串。您可以使用正则表达式。或者您可以使用我的sscanf() replacement class for C#

答案 4 :(得分:0)

String test = "ZZ111122";
String zOnly = test.Substring(0, test.IndexOfAny("123".ToCharArray()));

利用IndexOfAny()。我假设你只想要Z'(“从字符串中提取所有Z”)。

答案 5 :(得分:0)

int start = someString.IndexOf("Z");
int end = someString.LastIndexOf("Z");
someString.Substring(start , end - start);