[英]Remove section of text using regex c#
如何從包含標簽的字符串塊中刪除[開始]和[結束]之間的一段文本?
有沒有比使用IndexOf
和Substring
等更簡單的方法?
更新:我正在嘗試使用
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.