[英]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.