Regex:忽略字段之间的空白
本文关键字:之间 空白 字段 Regex | 更新日期: 2023-09-27 18:27:48
我面临一个有趣的C#字符串分割问题。我有以下数据,我需要将其拆分为键/值对。问题是数据本身不能很好地对空格字符进行定界。
样本数据:
Somefield1:500 Somefield2:atextfield Somefield3:a text field with spaces Somefield4:102 Somefield5whichisblank: somefeild6:m0redata somefeild7:(1,2,3 5)
我尝试使用的方法是使用regex split匹配分隔空间字符:
var lineOfText = @"Somefield1:500 Somefield2:atextfield Somefield3:a text field with spaces Somefield4:102 Somefield5whichisblank: somefeild6:m0redata somefeild7:(1,2,3 5)"
foreach (string match in Regex.Split(lineOfText, @"'s(?=[^')]*(?:'(|$))").Where(s => s != String.Empty))
{
// Split into key / value pairs here
}
问题出在我的正则表达式上。我认为这个解决方案很接近,但它目前在字段之间匹配空格。这里是gskinner的例子。
如果有人能帮助修复我的正则表达式,使其与"中间"空格不匹配,或者提供一种超级的替代方法。
再次感谢。
尝试使用此正则表达式:'s(?='w+:)