正则表达式在 C# 中按空格或减号拆分字符串
Regex to split string by whitespace OR minus signs in C#
我有一个字符串,其中列出了可以为负值或正值的温度。
其中一些温度将由空格分隔,而另一些则不会。
即:19 20 22 -1 -3-4-10 -7 2 10
我想通过只保留这样的值来拆分该字符串:
19
20
22
-1
-3
-4
-10
-7
2
10
有人可以帮我吗?我对正则表达式没有经验。
非常感谢您!
干杯
根据下面的正则表达式拆分即可。
@"\s+|(?<!\s)(?=-)"
即
string[] split = Regex.Split(input_str, @"\s+|(?<!\s)(?=-)");
你可以使用这个正则表达式
(?!-)|(?=-)
检查这个演示 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
我有一个字符串,其中列出了可以为负值或正值的温度。
其中一些温度将由空格分隔,而另一些则不会。
即:19 20 22 -1 -3-4-10 -7 2 10
我想通过只保留这样的值来拆分该字符串:
19
20
22
-1
-3
-4
-10
-7
2
10
有人可以帮我吗?我对正则表达式没有经验。
非常感谢您!
干杯
根据下面的正则表达式拆分即可。
@"\s+|(?<!\s)(?=-)"
即
string[] split = Regex.Split(input_str, @"\s+|(?<!\s)(?=-)");
你可以使用这个正则表达式
(?!-)|(?=-)
检查这个演示 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