如何通过符号“=”之前的最后一个空格分割字符串
例如,我有下面的输入字符串并仅按空格分隔:
string inputName = "id=4 issue=critical level project=ABC group=Group A";
string[] values = inputName.Split(' ');
结果如下,这是错误的:
id=4
issue=critical
level
project=ABC
group=Group
A
但我期望的是:
id=4
issue=critical level
project=ABC
group=Group A
所以我的计划是搜索符号“=”,然后用每个符号“=”之前的最后一个空格分隔
最佳答案
您可以尝试使用正则表达式来拆分它们:
string str = "id=4 issue=critical level project=ABC group=Group A";
var prefix = Regex.Matches(str, @"\w+=").ToList();
var values = Regex.Split(str, @"\w+=").Where(x => !string.IsNullOrEmpty(x)).ToList();
for (int i = 0; i < prefix.Count; i++)
{
Console.WriteLine($"{prefix[i]}{values[i]}");
}
关于C# 在每个等号 (=) 之前按最后一个空格分割字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53440465/