【问题标题】:Regex Split at beginning of line containing word正则表达式在包含单词的行首拆分
【发布时间】:2015-06-08 18:25:18
【问题描述】:

每当一行包含某个单词时,我都会尝试将文本拆分为段落。我已经设法在该单词的开头拆分文本,但不是在包含该单词的行的开头。正确的表达方式是什么?

这就是我所拥有的

 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 的行的开头开始。或分机。不在话下。

【问题讨论】:

  • 你能给我们举一个文本和输出的例子更清楚吗?
  • 刚刚做了个插图
  • 您更新的示例似乎已经在段落中显示了数据。什么是“空段落”?
  • 仍然不清楚你想要完成什么......
  • 至少向我们展示想要的结果

标签: c# regex wpf richtextbox flowdocument


【解决方案1】:
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

【讨论】:

  • 这正是我要找的
猜你喜欢
  • 1970-01-01
  • 2012-09-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-02-06
相关资源
最近更新 更多