正则表达式向我展示了我在C#中想要的相反内容

本文关键字:展示了 正则表达式 | 更新日期: 2023-09-27 18:00:29

我只想在文本框3中写数字,但它显示了相反的情况,我的意思是只写字母。当我像使用模式一样使用@"''D"时,它就起作用了。为什么?

    public String NingunCaracterEspecial(Control ctrlRegresar)
    {
        String strRegresar = ctrlRegresar.Text;
        String pattern = @"'d";
        String replacement = "";
        return Regex.Replace(strRegresar, pattern, replacement);
    } 
    private void textBox1_TextChanged(object sender, EventArgs e)
    {
        textBox3.Text = NingunCaracterEspecial(textBox1);
    }

正则表达式向我展示了我在C#中想要的相反内容

当我像使用模式一样使用@"''D"时,它就起作用了。为什么?

'D而不是数字的任何东西。

因此,您似乎在替换任何不是数字的东西,因此只留下数字,这就是您想要的。

据我从你的问题中了解:

  • 您希望保留所有数字不变
  • 您要删除(替换为空字符串)所有字母

因此,您指示的模式将被替换。

如果您指示'd,这将替换所有数字,因为'd与一个数字匹配。'D是它的补码,所以如果你替换'D,所有而不是的数字(也就是说,包括字母)都会被替换。