2015-06-30 47 views
0

我只想在textbox3中寫入數字,但它顯示的是相反的,我的意思是隻有字母。當我使用@「\ D」就像它工作的模式。爲什麼?正則表達式顯示了我在C#中想要的相反方向

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); 
    } 
+0

你的問題有點不清楚,你究竟想要什麼,只有數字? –

回答

1

據我從你的問題理解:

  • 要離開所有的數字不變。
  • 你想刪除(替換爲空字符串)所有字母。

因此,您指出的模式將被替換。

如果您指示\d,則會替換所有數字,因爲\d與數字匹配。 \D是它的補碼,所以如果你替換\D,那麼所有不是而是的數字(即包括字母)都將被替換。

+0

謝謝,我誤解了文檔, – user3152420

2

當我使用@ 「\ d」 像它的工作模式。爲什麼?

\D是什麼,是不是一個數字。

所以你似乎取代任何不是一個數字,因此只留下數字,這是你想要的。