【发布时间】:2017-03-18 05:00:57
【问题描述】:
我想在 c# 中使用正则表达式分割上面的字符串
输入:
"some1 Text (#something) someothertext (#something) some3 Text"
预期输出:
some1 Text
someothertext
some3 Text
我的代码
string str = "some1 Text (#something) someothertext (#something) some3 Text";
Regex regex = new Regex(@"\(([^)]*)\)", RegexOptions.IgnoreCase);
var result = regex.Split(str);
输出
some1 Text
#something
someothertext
#something
some3 Text
【问题讨论】:
-
当您要匹配的值是
some1和Text时,为什么要提到(#something)?这是字段之间的分隔符吗?这个字符串的模式是什么?字段用(#...)分隔,键值用一个空格分隔? -
请给出一个更具体的例子,包括你尝试过的一些代码
-
你可以忽略它并匹配内容,例如
\w+ \w+。这将返回预期的输出。 -
字段呢?它们包含什么?为什么你不能只使用
\w+ \w+? -
@umeshgangwar 和我已经提供了一个有效的模式。你试过了吗?你的例子是真实的吗?您的数据是否使用未分隔的字符串或其他内容? 具体