5

我有一个空格不能作为分隔符的字符串。但是当多个空格连续出现时,它必须充当分隔符。例如

"Line 1     Component Name             Revision        Quantity   Unit"

在此示例中,拆分后我必须有 5 个不同的元素。如何使用字符串中的内置拆分函数来实现它。(请注意,单次出现的空白不作为分隔符)

4

4 回答 4

9

拆分为两个空格,然后修剪结果中可能出现的多余部分(如果您有奇数个空格,则会发生这种情况)

List<string> splitStrings = myString.Split(new[]{"  "}, StringSplitOptions.RemoveEmptyEntries)
    .Select(s => s.Trim())
    .ToList();
于 2013-08-14T09:48:17.510 回答
3

嗯,不确定这是否会涵盖您的所有情况:

var regex = new Regex("  +");
var result = regex.Split("Line 1     Component Name             Revision        Quantity   Unit");

结果:

Line 1
Component Name
Revision
Quantity
Unit
于 2013-08-14T09:55:14.010 回答
0

好吧,你总是可以使用:

String newStr = str.Split("<White space><White space>");
于 2013-08-14T09:48:33.603 回答
0

在这里你...

String fields = "He rl  lo vjdvd    fcsd";

Pattern pattern = Pattern.compile("\\s\\s\\s*" );

String[] split = pattern.split(fields);
for (String string : split) {
    //Use values here
}
于 2013-08-14T10:07:35.340 回答