Skip to main content
 首页 » 编程设计

c#之用正则表达式解析key=value

2024年02月06日28thcjp

我有简单的文本:

first_name=value1 
secon_name=value2 
date_b = 12.01.1989 

行由 \n 分隔字符。我有拆分此字符串的代码,然后遍历数组并检查键:

string[] data = str.Split('\n'); 
foreach (var row in data) 
{ 
   if (row.StartsWith("first_name")) 
   { 
       obj.FirstName = row.Remove(0, ("first_name").Length); 
       ... 
   } 
} 

但是大约有15对,代码在foreach中非常难读。如何用正则表达式解析这个?我想得到 dictionary<key, value> .

附言。一些规则:
1.key没有空格
2. 该值可以包含空格。

请您参考如下方法:

(.*?)\s*=\s*([^\s]+) 

这应该有效。将为您提供包含两个匹配项的组。

看看。

http://regex101.com/r/wE3dU7/4