Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何使用多个空格作为分隔符拆分字符串?_C#_String - Fatal编程技术网

C# 如何使用多个空格作为分隔符拆分字符串?

C# 如何使用多个空格作为分隔符拆分字符串?,c#,string,C#,String,我有一个字符串,其中一个空格不能是分隔符。但当多个空格连续出现时,它必须充当分隔符。e、 g "Line 1 Component Name Revision Quantity Unit" 在这个例子中,拆分后我必须有5个不同的元素。如何使用字符串中的内置拆分函数实现它。(请注意,一次出现的空格不起分隔符的作用)在两个空格上拆分,然后修剪结果中可能出现的多余空格(如果空格数为奇数,则会出现) List splitStrings=myString.

我有一个字符串,其中一个空格不能是分隔符。但当多个空格连续出现时,它必须充当分隔符。e、 g

"Line 1     Component Name             Revision        Quantity   Unit"
在这个例子中,拆分后我必须有5个不同的元素。如何使用字符串中的内置拆分函数实现它。(请注意,一次出现的空格不起分隔符的作用)

在两个空格上拆分,然后修剪结果中可能出现的多余空格(如果空格数为奇数,则会出现)

List splitStrings=myString.Split(新[]{”“},StringSplitOptions.RemoveEmptyEntries)
.Select(s=>s.Trim())
.ToList();

嗯,您可以随时使用:

String newStr = str.Split("<White space><White space>");
String newStr=str.Split(“”);

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

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

Line 1
Component Name
Revision
Quantity
Unit
这是你的

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
}

@FrédéricHamidi谢谢,这应该可以工作:
s.Split(new[]{”“},StringSplitOptions.removempttyentries)
是“空白”只是“空格”还是它也包括其他空白字符(换行符、制表符等)?编辑:如果是这样的话,这些是否也受“多个空格”规则的约束?因此,应该忽略单个制表符或单个换行符,但两个制表符、一个空格+一个制表符、换行符+空格、换行符+制表符或两个换行符可以有效拆分?内部没有制表符。数据从MFG Pro导入。在几乎所有的例子中,不止一个空格充当分隔符!感谢您提供了string.split以外的其他选项
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
}