C#去除特殊字符串

特殊字符串:大碄大大大大<大 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>”

原文地址:https://www.cnblogs.com/RuiLei/p/1397302.html