Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/312.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 正则表达式在包含单词的行的开头拆分_C#_Regex_Wpf_Richtextbox_Flowdocument - Fatal编程技术网

C# 正则表达式在包含单词的行的开头拆分

C# 正则表达式在包含单词的行的开头拆分,c#,regex,wpf,richtextbox,flowdocument,C#,Regex,Wpf,Richtextbox,Flowdocument,每次一行包含某个单词时,我都会尝试将文本拆分为段落。我已经设法将文本拆分到该单词的开头,但没有拆分到包含该单词的行的开头。正确的表达方式是什么 这就是我所拥有的 string[] paragraphs = Regex.Split(text, @"(?=INT.|EXT.)"); 我还想丢失数组中的任何空段落 这是输入 INT. LOCATION - DAY Lorem ipsum dolor sit amet, consectetur adipiscing elit. LOCATION

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

这就是我所拥有的

 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
string text=“内部位置-日期\n”+
“Lorem ipsum dolor sit amet,献祭精英。\n”+
“位置-外部。\n”+
“在马萨非波尔塔的临时法庭上,Morbi cursus dictum Temporal.Phasellus mattis。\n”+
“位置INT.-NIGHT\n”;
字符串[]res=Regex.Split(文本,(?=^.+?INT^.+?EXT)”,RegexOptions.Multiline);
对于(int i=0;i
您能给我们一个更清晰的文本和输出示例吗?刚刚做了一个说明。您更新的示例似乎显示了段落中已有的数据。什么是“空段落”?仍然不太清楚你想要达到什么…告诉我们期望的结果至少这正是我想要的