建议用StringTokenizer类格式化输出.
public static string removeHTML(String s)
        {
            StringBuilder s1 = new StringBuilder(s.Length);
            try
            {
                StringTokenizer stringtokenizer = new StringTokenizer(s, "<");
                while (stringtokenizer.HasMoreTokens())
                {
                    String s3 = stringtokenizer.NextToken();
                    int i = s3.IndexOf(">");
                    if (i != -1)
                    {
                        s1.Append(s3.Substring(i + 1, s3.Length));
                    }
                    else
                    {
                        s1.Append(s3);
                    }
                }
                
            }
            catch (Exception e)
            {
                Console.WriteLine(e.Message);
            }
            return s1.ToString();
            //return s; 
        }

解决方案 »

  1.   

    System.Text.RegularExpressions.Regex.Replace("input", @"(<a[ ]+href[\s\S]+?>|</a>)", "");
      

  2.   

    我只想取消连接,1楼的把<>全取消了,二楼的也不行哦
      

  3.   

    System.Text.RegularExpressions.Regex.Replace("input", @"(<a[ ]+href[\s\S]+?>|</a>)", "");试过,可以的。a<a href='.....'>b</a>c<a href='.....'>d</a>
    <font abc>ddd</font>
    得到
    abcd
    <font abc>ddd</font>
      

  4.   

    (?<=\<[\w\W]+\>)[^<\s]*(?=\</\w+\>)
    这个可以么?我不确定。你试试。
      

  5.   

    str=Regex.Replace(str, @"<a\s+href=.+?>(.+?)</a>", "$1",RegexOptions.IgnoreCase|RegexOptions.Singleline);
      

  6.   

    string yourStr = ......;
    string resultStr = Regex.Replace(yourStr, "<a\\s+href=.+?>|</a>", "");
      

  7.   

    之前我写的多了几个符号
    (?<=<[\w\W]+>)[^<\s]*(?=</\w+>)