所以我試圖從與表中的SQL列相關的用戶輸入中替換下面的字符。「(」and「)」替換爲C#
示例: 用戶創建一個名爲My(first)try的字段。在SQL中,這是Myfirsttry。
我目前正在編寫代碼來替換用戶輸入與我們,我卡住了。
我有這個到目前爲止。
itemreplace = itemreplace.Replace("(", "");
然而,這並不是訣竅。想法,意見,建議?
所以我試圖從與表中的SQL列相關的用戶輸入中替換下面的字符。「(」and「)」替換爲C#
示例: 用戶創建一個名爲My(first)try的字段。在SQL中,這是Myfirsttry。
我目前正在編寫代碼來替換用戶輸入與我們,我卡住了。
我有這個到目前爲止。
itemreplace = itemreplace.Replace("(", "");
然而,這並不是訣竅。想法,意見,建議?
第一種選擇:
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);
我覺得像真實世界的情況下是更爲複雜,你不說明,但處理您的示例文本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?,以確定列名允許的字符。
謝謝大家。我確實在嘗試搜索,但我想我一開始並不知道我在尋找什麼。 – Xerc
那麼*不*它做什麼?運行該代碼行的結果是什麼? – Servy
如果你再次對結尾括號做同樣的事情,生活會更好嗎? –
itemreplace是一個字符串,對不對?這當然應該工作。 發佈你的實際代碼。我只是在一個快速骯髒的控制檯應用程序中嘗試過,它用一個空字符串正確地替換了左括號。 – sab669