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