RT。我现有一字符串如下:ABCDFGEWJDJDKDJSDJSJDJSDJJD,现在我想从第10个字符以后显示成*号。如何实现?

解决方案 »

  1.   

    先用subString截取出前10个字符
    后面的就可以用循环剩下的字符数生成*号 拼接到后面
      

  2.   


     string s = "ABCDFGEWJDJDKDJSDJSJDJSDJJD";
                    
       string s1=s.Length>10?s.Substring(10):"";
       s = s.Replace(s1, new string('*', s1.Length));
       Response.Write(s); //ABCDFGEWJD***************** 
      

  3.   


     public string subStr()
            {
                string str = "adsadfjksl;fdskfjskdl;fjssfsfsf";//要格式的字符串
                int len = str.Length;//取字符串长度
                if (len> 10)
                {
                    str = str.Substring(0, 10);//截取前10个
                    for (int i = 0; i < len - 10; i++)
                    {
                        str += "*";//剩下的循环为"*"
                    }
                }
                return str;
            }测试可用
      

  4.   


    1:
    string str="ABCDFGEWJDJDKDJSDJSJDJSDJJD";
    if(str.Length>20)
        str = str.SubString(0,20)+"*";
    Console.WriteLine(str);
    //ABCDFGEWJDJDKDJSDJSJ*
    2:
    string str="ABCDFGEWJDJDKDJSDJSJDJSDJJD";
    str = Regex.Replace(str, "(?<=[A-Z]{20}[A-Z]*)[A-Z]","*");
    //ABCDFGEWJDJDKDJSDJSJ*******
      

  5.   

                   string s = "ABCD";
                    
                    string s1=s.Length>10?s.Substring(10):"";
                    if (s1.Length > 0)  //加个if判断,防止s长度小于10
                    {
                        s = s.Replace(s1, new string('*', s1.Length));
                    }
                    Response.Write(s); //ABCD
      

  6.   

    string str = "ABCDFGEWJDJDKDJSDJSJDJSDJJD";
    char[] chars = str.ToCharArray();
    StringBuilder sb = new StringBuilder();
    for(int i=0;i<chars.Count;i++)
    {
       if(i<10)
       {
          sb.Append(chars[i]);
       }
       else
       {
          sb.Append("*");
       }
    }
    string newstr = sb.ToString();