比如 ***康佳丽网络******   这种字符串   长度不固定  *和汉字都不固定的,现在需要处理下, *不变  但是汉字只保留2位,随便2位即可  其余的汉字也替换成*   这种功能怎么实现我用正则  string outstring = System.Text.RegularExpressions.Regex.Replace(str,@"[\u4e00-\u9fa5]+","*");这样做的话  就将所有的汉字全部替换成*了  不符合要求 。 求解答啊

解决方案 »

  1.   

    ***康佳丽网络****** 
    不用正则的方法:
    a="***康佳丽网络****** ";
    b=a.Replace("*","");//"康佳丽网络"
    截取出b的后3位“丽网络”
    c=a..Replace("丽网络","");//***康佳******
      

  2.   

    string tempStr = "***康佳丽网络******";
                    string pattern = @"(?<=[\u4e00-\u9fa5]{2})[^*]+";
                    tempStr = Regex.Replace(tempStr, pattern, "*", RegexOptions.ExplicitCapture);//***康佳*******
      

  3.   

    string str="撒地方撒 ";
    string s=str.Substring(2);
    输出s
      

  4.   

    没全给出代码,lz可能没看明白
    b=b.Substring(2);
    c=a.Replace(b,"");
      

  5.   

    用字符*来分割(split)得到一个数组,然后找出length大于0的就是存放汉字的,然后取两个汉字就好