C# 在每个等号 (=) 之前按最后一个空格分割字符串

标签 c# split

如何通过符号“=”之前的最后一个空格分割字符串

例如,我有下面的输入字符串并仅按空格分隔:

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]}");
}

1

关于C# 在每个等号 (=) 之前按最后一个空格分割字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53440465/

相关文章:

c# - 使用 RestSharp 将 GET 参数添加到 POST 请求

c# - 一个良好的、完整的 C# 单声道兼容游戏引擎

c# - 输入 'System.Reflection.TargetException'类型的异常

c# - 如何使用 SDK 2.4 扩展 Azure 云服务?

Java-如何将数字字符串转换为字母数组

linux - tar 和拆分时使用所有内核

ruby - 使用正则表达式对散列进行行拆分

c# - 从 ASP.NET C# 启动程序

regex - 正则表达式实现实际上需要 split() 函数吗?

javascript - 协助调试这个简单的 javascript split 函数