2013-10-11 33 views
-1

所以我試圖從與表中的SQL列相關的用戶輸入中替換下面的字符。「(」and「)」替換爲C#

示例: 用戶創建一個名爲My(first)try的字段。在SQL中,這是Myfirsttry。

我目前正在編寫代碼來替換用戶輸入與我們,我卡住了。

我有這個到目前爲止。

itemreplace = itemreplace.Replace("(", ""); 

然而,這並不是訣竅。想法,意見,建議?

+4

那麼*不*它做什麼?運行該代碼行的結果是什麼? – Servy

+1

如果你再次對結尾括號做同樣的事情,生活會更好嗎? –

+0

itemreplace是一個字符串,對不對?這當然應該工作。 發佈你的實際代碼。我只是在一個快速骯髒的控制檯應用程序中嘗試過,它用一個空字符串正確地替換了左括號。 – sab669

回答

1

第一種選擇:

String itemreplace = new String("My(first)try"); 
String charsToRemove = new String[] {"(", ")"}; 
foreach (char c in charsToRemove) 
{ 
    itemreplace = itemreplace.Replace(c, string.Empty); 
} 

第二個選項:

itemreplace = itemreplace.Replace("(", string.Empty).Replace(")", string.Empty); 
2

我覺得像真實世界的情況下是更爲複雜,你不說明,但處理您的示例文本My(first)try你可以只鏈Replace聲明:

itemreplace = itemreplace.Replace("(", "").Replace(")", ""); 

然而,這似乎是現實世界情況下是沿着利用正則表達式像這樣的線路更多:

^[[email protected]#][[email protected]$#_]*$ 

這裏是Regex 101這將證明這一點。

然後使用可能是這樣的:

var valid = Regex.IsMatch("My(first)try", pattern); 

我做參考這個帖子,What special characters are allowed in T-SQL column name?,以確定列名允許的字符。

+0

謝謝大家。我確實在嘗試搜索,但我想我一開始並不知道我在尋找什麼。 – Xerc