簡體   English   中英

使用正則表達式C#刪除文本部分

[英]Remove section of text using regex c#

如何從包含標簽的字符串塊中刪除[開始]和[結束]之間的一段文本?

有沒有比使用IndexOfSubstring等更簡單的方法?

更新:我正在嘗試使用

var output = Regex.Replace("[Start]SomeText[End]", @"(?<=[Start]).*(?=[End])", "");

但是這種模式並不奏效。 它需要刪除[開始]和[結束]之間的所有內容

輸入文本:[開始] Hello World [結束]

輸出文本:[開始] [結束]

您可以嘗試以下方法:

Regex rgx = new Regex(@"(?<=\[Start])(?s).+?(?=\[End])");
string output = rgx.Replace(input, "");

或這樣會更快:

Regex rgx = new Regex(@"(?<=\[Start])(?>[^[]+|\[(?!End]))+(?=\[End])");
string output = rgx.Replace(input, "");

[]是正則表達式中的特殊字符。

var output =
   Regex.Replace("[Start]SomeText[End]", @"(?<=\[Start\]).*(?=\[End\])", ""); 

暫無
暫無

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

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