如何使用 C# 删除开始和结束 html 标记?
How to remove start and end html tag using C#?
如果我有一些 html 代码,例如:
<p>Some text</p><p>More text</p>
...我想删除该字符串的开始和结束标记,所以我最终得到:
Some text</p><p>More text
C# 代码会是什么样子?我希望它适用于任何标签类型,如果它们有 类,等等。只需要能够删除开始和结束标签。
如果标签总是 3 个字符,您只需从字符串中删除第一个和最后一个 3 个字符。如果你想使用它,你可以尝试 string.Remove(0,2);例如。
string.replace 不起作用,因为该字符串包含多个
而您不希望将它们全部删除。
编辑:我看到您希望它与任何标签类型一起使用,那么我会试试这个:找到字符串中的第一个 > 和最后一个 <。并将这些位置与 0 和 string.length 一起使用到 string.remove 标签。
使用正则表达式
var item = "<p>Some text</p><p>More text</p>";
item = Regex.Replace(item,@"^<[^>^<.]*>","");
item = Regex.Replace(item,@"<[^>^<.]*>$","");
Console.WriteLine(item) //Will log Some text</p><p>More text
正则表达式分解:
^
:匹配字符串的开头
<
: 开始标签
>
: 结束标签
[^>^<.]*
: 排除标签内的结束标签和开始标签,并尽可能多地匹配除被排除字符之外的任何字符
再次做同样的事情只是这次我们将字符串的末尾与表达式末尾的$
匹配
如果我有一些 html 代码,例如:
<p>Some text</p><p>More text</p>
...我想删除该字符串的开始和结束标记,所以我最终得到:
Some text</p><p>More text
C# 代码会是什么样子?我希望它适用于任何标签类型,如果它们有 类,等等。只需要能够删除开始和结束标签。
如果标签总是 3 个字符,您只需从字符串中删除第一个和最后一个 3 个字符。如果你想使用它,你可以尝试 string.Remove(0,2);例如。 string.replace 不起作用,因为该字符串包含多个
而您不希望将它们全部删除。
编辑:我看到您希望它与任何标签类型一起使用,那么我会试试这个:找到字符串中的第一个 > 和最后一个 <。并将这些位置与 0 和 string.length 一起使用到 string.remove 标签。
使用正则表达式
var item = "<p>Some text</p><p>More text</p>";
item = Regex.Replace(item,@"^<[^>^<.]*>","");
item = Regex.Replace(item,@"<[^>^<.]*>$","");
Console.WriteLine(item) //Will log Some text</p><p>More text
正则表达式分解:
^
:匹配字符串的开头
<
: 开始标签
>
: 结束标签
[^>^<.]*
: 排除标签内的结束标签和开始标签,并尽可能多地匹配除被排除字符之外的任何字符
再次做同样的事情只是这次我们将字符串的末尾与表达式末尾的$
匹配