我很难过。
I went to the store at the mall at seven thirty in a big huff.
期待Regex.Split生产
我抱歉的第一次尝试是:\bto\b|\bat\b|\bin\b
捕获介词。
下一次尝试会消耗整个句子:
\bto\b([a-zA-Z ]*)|\bat\b([a-zA-Z ]*)|\bin\b([a-zA-Z ]*)
就像他们说的那样,我遇到了问题所以我选择了正则表达式,现在我有饮酒问题。
答案 0 :(得分:4)
根据以下使用lookahead assertion的正则表达式分割输入。 Lookaheads是零宽度断言,它不会消耗任何字符,但仅断言是否可以匹配。
@"\s(?=to\b|at\b|in\b)"
<强>代码:强>
string value = "I went to the store at the mall at seven thirty in a big huff.";
string[] lines = Regex.Split(value, @"\s(?=to\b|at\b|in\b)");
foreach (string line in lines) {
Console.WriteLine(line);
}
答案 1 :(得分:1)
(?=\bto\b)|(?=\bat\b)|(?=\bin\b)
试试这个。在你的regex.split function.Replace by \n
中使用。见demo。