3

在遇到第一个“\ 0”后,我需要帮助修剪字符串中的所有内容直到结束

所以:

“测试\1\2\3\0\0\0\0\0\0\0\0\0_asdfgh_qwerty_blah_blah_blah”

变成

“测试\1\2\3”

我正在使用 c#。帮助将不胜感激。

谢谢。

4

7 回答 7

6

怎么样:

string s = "test\1\2\3\0\0\0\0\0\0\0\0\0_asdfgh_qwerty_blah_blah_blah";

int offset = s.IndexOf("\\0");
if (offset >= 0)
    s = s.Substring(0, offset);
于 2010-06-07T21:51:10.630 回答
5
if (someString.Contains("\\0"))
    someString = someString.Substring(0, someString.IndexOf("\\0"));
于 2010-06-07T21:51:13.867 回答
1

找到“\0”第一次出现的位置,并制作另一个字符串,它是你原来的子字符串,从开始到第一次出现的位置。

于 2010-06-07T21:51:47.523 回答
1

somestring=Regex.split(somestring,"\\0")[0];

于 2010-06-07T22:27:48.430 回答
0

以下正则表达式返回的匹配值也应该是您所追求的(作为 substring 方法的替代方法),基本上它从字符串开头开始,只要接下来的两个字符不是\0它就会扩展匹配:

^(?:(?!=\0).)+
于 2010-06-07T22:14:54.577 回答
0
String.Substring(0, String.IndexOf("\0"))
于 2010-06-07T21:51:14.940 回答
0
if (origString.IndexOf(@"\0") != -1) {
   newString = origString.Substring(0, origString.IndexOf(@"\0");
} else {
    newString = origString;
}
于 2010-06-07T21:52:55.137 回答