簡體   English   中英

在保留“分隔詞”的替換完整詞列表上的分隔句

[英]Split sentence on a list of alternative whole words preserving “splitter words”

我很沮喪

I went to the store at the mall at seven thirty in a big huff.

期待正則表達式拆分

  • 我去了
  • 到商店
  • 在商場
  • 在七點三十分
  • 大發脾氣。

抱歉,我的第一個嘗試是: \\bto\\b|\\bat\\b|\\bin\\b捕獲介詞。

下一次嘗試將消耗整個句子:

\bto\b([a-zA-Z ]*)|\bat\b([a-zA-Z ]*)|\bin\b([a-zA-Z ]*)

就像他們說的那樣,我遇到了問題,所以我選擇了正則表達式,現在我遇到了飲酒問題。

只需根據使用正則斷言的以下正則表達式拆分輸入即可。 前行是零寬度的斷言,它不占用任何字符,而僅斷言是否可以進行匹配。

@"\s(?=to\b|at\b|in\b)"

DEMO

碼:

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);
}

IDEONE

(?=\bto\b)|(?=\bat\b)|(?=\bin\b)

試試這個,在您的regex.split函數中使用它,用\\n代替,參見演示。

http://regex101.com/r/uH3tP3/11

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM