正则表达式在包含单词的行的开头拆分
我想在每次一行包含某个单词时将文本拆分成段落。 我已经设法在该单词的开头拆分文本,但不是在包含该单词的行的开头。 什么是正确的表达方式?
这就是我所拥有的
string[] paragraphs = Regex.Split(text, @"(?=INT.|EXT.)");
我还想丢失数组中的任何空段落。
这是输入
INT. LOCATION - DAY Lorem ipsum dolor sit amet, consectetur adipiscing elit. LOCATION - EXT. Morbi cursus dictum tempor. Phasellus mattis at massa non porta. LOCATION INT. - NIGHT
我想把它分开保持相同的布局,但只是在段落中。
我的结果是
INT. LOCATION - DAY Lorem ipsum dolor sit amet, consectetur adipiscing elit. LOCATION - EXT. Morbi cursus dictum tempor. Phasellus mattis at massa non porta. LOCATION INT. - NIGHT
新段落从单词开始,而不是在行。
这是期望的结果
第1段
INT. LOCATION - DAY Lorem ipsum dolor sit amet, consectetur adipiscing elit.
第2段
LOCATION - EXT. Morbi cursus dictum tempor. Phasellus mattis at massa non porta.
第3段
LOCATION INT. - NIGHT
段落应始终从包含单词INT的行的开头开始。 或EXT。 不是这个词。
Regex.Split(text, "(?=^.+?INT|^.+?EXT)", RegexOptions.Multiline);
检查此文本方案
string text = "INT. LOCATION - DAY\n" + "Lorem ipsum dolor sit amet, consectetur adipiscing elit.\n" + "LOCATION - EXT.\n" + "Morbi cursus dictum tempor. Phasellus mattis at massa non porta.\n" + "LOCATION INT. - NIGHT\n"; string[] res = Regex.Split(text, "(?=^.+?INT|^.+?EXT)", RegexOptions.Multiline); for (int i = 0; i < res.Count(); i++) { int lineNumber = i + 1; Console.WriteLine("paragraph " + lineNumber + "\n" + res[i]); } #paragraph 1 #INT. LOCATION - DAY #Lorem ipsum dolor sit amet, consectetur adipiscing elit. #paragraph 2 #LOCATION - EXT. #Morbi cursus dictum tempor. Phasellus mattis at massa non porta. #paragraph 3 #LOCATION INT. - NIGHT