簡體   English   中英

如何刪除兩個字符串之間的字符串,包括開始字符串和結束字符串?

[英]How to remove string between two string including both start string as well end string?

示例字符串:

"< harshal bhamare > sfjkgdbgfbguifg < fbgfg >";

我想刪除總字符串"< harshal bhamare >" ,該字符串以"<"開始,以">"結尾。

您可以為此使用正則表達式:

<.*?>(.*)<.*?>

它刪除括號內的所有內容,包括括號本身( ?使其不貪心,因此允許在文本塊內使用<> ),並捕獲其間的文本。 您可以通過獲取第一個捕獲來解決這個問題,如下面的C#代碼所示:

string output = Regex.Replace(input, @"<.*>(.*)<.*>", "$1");

如果您不想使用正則表達式解決方案,則可以簡單地遍歷每個字符並注意開始/結束字符,而忽略其中的那些字符。

StringBuilder sb = new StringBuilder();
bool skip = false;
foreach (char c in "< harshal bhamare > sfjkgdbgfbguifg < fbgfg >")
{
    if (c.Equals('<')) skip = true;
    if (c.Equals('>')) { skip = false; continue; }

    if (!skip) sb.Append(c);

}

System.Console.WriteLine(sb.ToString());

暫無
暫無

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

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