例如一个string类的字符串,里面什么字符都可能有,但我想只保留里面的数字(0123456789)和特定的几个符号。请问可以怎样实现呢?谢谢。

解决方案 »

  1.   


    string text = "123abc456def789ghi";
    string[] textassort = new string[text.Length];
    int i = 0, j = 0;
    for (i = 0; i < text.Length; i++)
    {
        string temp = text.Substring(i, 1);
        if (temp != "0" && temp != "1" && temp != "2" && temp != "3" && temp != "4" && temp != "5" && temp != "6" && temp != "7" && temp != "8" && temp != "9")
        {
            continue;
        }
        textassort[j] = Convert.ToString(temp);
        j++;
    }
    for (i = 0; i < textassort.Length; i++)
    {
        Console.Write(textassort[i]);
    }
    Console.ReadLine();
      

  2.   

    把需要保留的字符放在[^...]内
    string test = "例如一个string类的字符串,里面什么字符都可能有,但我想只保留里面的数字(0123456789)和特定的几个符号";
    Regex reg = new Regex(@"[^0-9]+");
    string result = reg.Replace(test, "");
    richTextBox2.Text = result;
    /*------输出------
    0123456789
    */
      

  3.   

    谢谢 lxcnn 。虽然小弟没学过正则表达式,不过还是碰出来了。谢谢。