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