我有一个字符串,其中包含可以为负数或正数的温度列表。
这些温度中的一些将由空白分隔,而有些则不会。
即:19 20 22 -1 -3-4-10 -7 2 10
我想通过仅保留这些值来分割该字符串:
19
20
22
-1
-3
-4
-10
-7
2
10
任何人都可以帮助我吗?我对正则表达式没有经验。
非常感谢你!
干杯
答案 0 :(得分:2)
根据以下正则表达式进行拆分。
@"\s+|(?<!\s)(?=-)"
即
string[] split = Regex.Split(input_str, @"\s+|(?<!\s)(?=-)");
答案 1 :(得分:0)
你可以使用这个正则表达式
(?!-)|(?=-)
查看此演示Demo
string temperatures = "19 20 22 -1 -3-4-10 -7 2 10";
string[] res = Regex.Split(temperatures, " (?!-)|(?=-)");
foreach (var item in res)
{
Console.WriteLine(item);
}
#19
#20
#22
#-1
#-3
#-4
#-10
#-7
#2
#10