C#正则表达式,不包括引号内的字符

时间:2014-02-27 16:01:12

标签: c# regex string split

我正在尝试使用Regex将一行拆分为一个键/值对。任何人都可以给我一个关于如何正确拆分下线的提示吗?

这条线看起来像这样:

"key"="some=value"

我想把它分成:

key  
some=value

我必须读取一个字符串资源文件,如下所示:

"key1"="translation number one";  
"key2"="translation number = the second number";   

我做的时候

string[] elements = Regex.Slit(line, "=");  

我得到3个元素而不是我想要的2个元素。所以基本上我想在引号之外的“=”处拆分

2 个答案:

答案 0 :(得分:1)

首先为两端剥去引号(")的字符串。然后使用正则表达式分割字符串:

string []splits = Regex.Split(input.Trim('"'), "\\s*\"\\s*=\\s*\"\\s*");

答案 1 :(得分:0)

假设单键=每行值

^"(?<key>[^"]+)"="(?<value>.*)"$