特殊字符串:大碄大大大大<大 1>大大<大2>大大大大<大4>大大大大<大ddddddd4>
最终结果:大碄大大大大大大大大大大大大大大
最终代码:
目录:
- C#实现
- 正则实现
1.C#实现
String content = "大碄大大大大<大 1>大大<大2>大大大大<大4>大大大大<大ddddddd4>";
String afterReplaceContent = new AngleBracket().ReplaceBracketContent(content);
public class AngleBracket
{
internal String ReplaceBracketContent(String source)
{
///存放要删除的字符串
List<String> removeList = new List<String>();
///存放括号的索引
List<Int32> bracketIndexList = new List<Int32>();
///记录括号的索引
for (int i = 0; i < source.Length; i++)
{
if ('<'.Equals(source[i]) || '>'.Equals(source[i]))
{
bracketIndexList.Add(i);
}
}
///取出要删除的字符串
for (int i = 0; i < bracketIndexList.Count; i++)
{
if (i % 2 == 0)
{
//+1--加上本身,也就是加上“>”
removeList.Add(source.Substring(bracketIndexList[i], bracketIndexList[i + 1] - bracketIndexList[i] + 1));
}
}
///删除字符串
removeList.ForEach(delegate(String str)
{
source = source.Replace(str, String.Empty);
});
return source;
}
}
2.正则实现
\<(\w+\> :可以去掉“大碄大大大大<大1>”
不过如果<大1>中有空格的话,就不行了。
\<(\w+\s+\w+)\> :可以去掉空格 大碄大大大大<大 1>”