如果我有一些html代码,比如:
<p>Some text</p><p>More text</p>
我想删除该字符串的开始和结束标签,所以我最终得到:
Some text</p><p>More text
C#代码会是什么样子?我希望它能处理任何标记类型,如果它们有类的话,等等。只需要能够删除开始和结束标记。
使用Regex
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
Regex细分:
^
:匹配字符串的开头
<
:打开标签
>
:关闭标签
[^>^<.]*
:排除标签中的关闭和打开标签,并尽可能频繁地匹配除被排除的字符之外的任何字符
再次执行同样的操作,只是这次我们将字符串的末尾与表达式末尾的$
进行匹配
如果标签总是3个字符,那么只需从字符串中删除前3个和后3个字符。如果你想使用这个,你可以试试字符串。移除(0,2(;例如string.replaces不起作用,因为该字符串包含多个
,并且您不希望将它们全部删除。
编辑:我看到你想让它与任何标记类型一起使用,然后我会尝试这样做:查找第一个>并且最后<在字符串中。并使用那些带有0和字符串长度的位置来字符串。移除标记。