C#:替换<中的文本char直到>烧焦

时间:2017-06-04 14:56:04

标签: c#

所以我试图从<替换所有文本聊天直到> char因为颜色标签等...

我刚试过这段代码:

while (text.Contains("<") || text.Contains(">"))
{
    text = text.Remove(text.IndexOf("<"), text.IndexOf(">"));
}

为什么这段代码不起作用。 谢谢你的帮助!

1 个答案:

答案 0 :(得分:1)

函数Remove有两个参数 startIndex count 。其中 count 是要删除的字符数。

public string Remove(
    int startIndex,
    int count
)

您需要计算从<>的距离,并将该距离用作Remove的第二个参数。代码看起来像这样:

while (text.Contains("<") || text.Contains(">"))
{
    var start = text.IndexOf("<");
    var end = text.IndexOf(">") + 1;
    var dist = end - start;
    text = text.Remove(start, dist);
}

注意:您应该添加一些额外的检查,确保<>符合预期的顺序,并且它们的次数相同。