C# 当字符串被许多空字符分隔时,将字符串解析为数组
我有一个文件,在Notepad++中打开后,它看起来像包含由3个空字符分隔的字符串。 我试过: 但是C# 当字符串被许多空字符分隔时,将字符串解析为数组,c#,string,C#,String,我有一个文件,在Notepad++中打开后,它看起来像包含由3个空字符分隔的字符串。 我试过: 但是\u test,它是拆分的结果,显示了字符串的大部分(包括那些由3个空字符分隔的字符串) 我怎样才能扭转这种局面: AAANULNULBBBNULNULCCCCNULNUL 为此: {“AAA”、“BBB”、“CCC”} 这样你就不在乎NUL重复的次数了 编辑感谢&fubo->\u stuff.Split(“NUL”,StringSplitOptions.removeMptyEntries)。To
\u test
,它是拆分的结果,显示了字符串的大部分(包括那些由3个空字符分隔的字符串)
我怎样才能扭转这种局面:
AAANULNULBBBNULNULCCCCNULNUL
为此:
{“AAA”、“BBB”、“CCC”}
这样你就不在乎NUL重复的次数了
编辑感谢&fubo->\u stuff.Split(“NUL”,StringSplitOptions.removeMptyEntries)。ToArray()
如果NULL表示空字符,则可以使用“\0”
这样你就不在乎NUL重复的次数了
编辑感谢&fubo->\u stuff.Split(“NUL”,StringSplitOptions.removeMptyEntries)。ToArray()
如果NULL表示空字符,则可以使用“\0”仅
字符串。拆分:
String source = "AAA\0\0\0BBB\0\0\0CCCC\0\0\0";
String[] result = source.Split(
new Char[] { '\0' },
StringSplitOptions.RemoveEmptyEntries);
测试:
如果您只想按三倍NUL进行拆分:
只需字符串。拆分:
String source = "AAA\0\0\0BBB\0\0\0CCCC\0\0\0";
String[] result = source.Split(
new Char[] { '\0' },
StringSplitOptions.RemoveEmptyEntries);
测试:
如果您只想按三倍NUL进行拆分:
您正在分析带有控制字符的字符串NUL
是第0个控制字符。您可以使用以下选项:
var _test = _stuff.Split(new []{(char) 0});
您正在分析带有控制字符的字符串NUL
是第0个控制字符。您可以使用以下选项:
var _test = _stuff.Split(new []{(char) 0});
派对有点晚了,但这对你来说很好
派对迟到了一点,但这对你来说很好。为什么不在NULNULNUL
上拆分字符串,然后遍历数组,删除包含NULNULNUL
的索引,这样你就剩下AAA
,BBB
,和CCCC
您是否在\u test
的最后一个成员中看到了大部分字符串?请注意,您传递的3
并不是说“查找3个空字符”,而是说“最多返回3个字符串”,为什么不在numulnul
上拆分字符串,然后遍历数组并删除包含numulnul
的索引,这样就剩下AAA
,BBB
和CCCC
您是否在\u test
的最后一个成员中看到了大部分字符串?请注意,您传递的3
不是说“查找3个空字符”,而是说“NUL最多返回3个字符串”。OP表示空字符(ASCII 0),而不是包含N、U和L的字符串。我将使用StringSplitOptions。RemoveEmptyEntries
而不是通过“NUL”在另一次迭代中过滤空条目OP表示空字符(ASCII 0),而不是包含N、U和L的字符串。我将使用StringSplitOptions。RemoveEmptyEntries
,而不是在另一次迭代中过滤空条目
String[] result = source.Split(
new String[] { "\0\0\0" },
StringSplitOptions.RemoveEmptyEntries);
var _test = _stuff.Split(new []{(char) 0});
var cleanArray = Regex.Replace(source, @"\0+", " ")
.Split(new char[] {' '}, StringSplitOptions.RemoveEmptyEntries);