【发布时间】:2018-02-02 15:25:03
【问题描述】:
我正在尝试为 Split 函数定义一个正则表达式,以便获得由空格分割的所有子字符串,省略那些包含在单引号中的空格。
例子:
key1:value1 key2:'value2 value3'
我需要这些分隔值:
key1:value1
key2:'value2 value3'
我尝试以不同的方式执行此操作:
- Regex.Split(q, @"(\s)^('\s')").ToList();
- Regex.Split(q, @"(\s)(^'.\s.')").ToList();
- Regex.Split(q, @"(?=.*\s)").ToList();
我对这段代码有什么问题?
你能帮我解决这个问题吗?
提前致谢
【问题讨论】:
-
k1 : v1 k2 : 'v2 v3'是一个有效的输入吗?如果是这样,您期望什么输出? -
您是否在尝试解析 JSON?不要为此使用正则表达式。使用 JSON.NET。
-
@AleksAndreev ,不,这不是有效的输入 只有这个:---> k1:v1 k2:'v2 v3' 每个参数之间只有一个空格 在这种情况下,我希望看到:- k1:v1 - k2:'v2 v3'
-
@WiktorStribiżew 不,这不是 JSON 是 URL 的一部分(AWS Cloudsearch 参数)
-
下面有有效的答案吗?如果是,请考虑接受。