正则表达式拆分为空格
本文关键字:空格 拆分 正则表达式 | 更新日期: 2023-09-27 18:17:14
>我有一个字符串,如下所述。
测试[0] = 值 1 测试1[0] = 值2 测试3[0] = 值 3....等。
我想使用正则表达式将它们分开,如下所示
Test[0] = Value1
Test1[0] = Value2
Test3[0] = Value3
你能给我一些正则表达式将它们一行字符串分成多行吗?
如果您需要对此问题进行更多澄清,请告诉我。
试试这个:
String s = "Test[0] = Value1 Test1[0] = Value2 Test3[0] = Value3";
String result = Regex.Replace(s, @"(?<!=)'s(?!=)", "'r'n");
正则表达式(?<!=)'s(?!=)
正在搜索一个空格字符('s
,也许你想用一个空格替换它,
=
因为它还包含换行符(,它前后没有'r'n
,并用.net
替换它。
这将为您的示例生成您期望的结果。
更新:
与其猜测换行符的替换顺序,不如Environment.NewLine
有一个很好的快捷方式来获取当前系统的换行符:=
因此,将代码更改为:
String result = Regex.Replace(s, @"(?<!=)'s(?!=)", Environment.NewLine);
您需要更具体地说明换行符之前或之后允许的内容。如果空格的每一边(这里而不是]
或CC_10(都必须有数字或字母,你可以做的是搜索和替换:
s/(['d'w])'s(['d'w])/'1'n'2/gi
正
则表达式:
(Test['d]*'[['d]+'])'s*'='s*('w+)'s*
替换表达式(仅举个例子(:
$1 = $2 + chr(13)
var results = Regex.Matches("Test[0] = Value1 Test1[0] = Value2 Test3[0] = Value3", @"[^'s]+'s*='s*[^'s]+")
.OfType<Match>()
.Select(item => item.Value)
.ToArray();
这将匹配 x = y,其中 x 和 y 可以是除空格字符以外的任何内容。