這似乎是C#用戶的常見問題,經過研究和多次嘗試後,我無法爲我的生活從字符串中刪除一對括號。我遇到問題的字符串是Service (additional)
。C#刪除字符串的括號
經過我的研究,我明白括號在Regex.Replace
中的處理方式不同。隨着我的研究也出現了多個我嘗試過的答案,但似乎沒有任何成效。以下是我嘗試刪除這些括號的一些方法。
cleanValue = Regex.Replace(intVal, " ", "").Replace("(", "").Replace(")", "").Replace(",", "").Replace("/", "").Replace("-", "");
cleanValue = Regex.Replace(intVal, " ", "").Replace(@"\(", "").Replace(@"\)", "").Replace(",", "").Replace("/", "").Replace("-", "");
cleanValue = Regex.Replace(intVal, " ", "").Replace("[()]", "").Replace(",", "").Replace("/", "").Replace("-", "");
cleanValue = Regex.Replace(intVal, " ", "").Replace(@"[^a-zA-Z]", "").Replace(",", "").Replace("/", "").Replace("-", "");
這些都不工作,逐步執行代碼我只看到「e」和「(」刪除之間的空間後,我失去的東西嗎?
如果任何人希望看到的function
正被這裏使用它:
public static string CleanExtra(string intVal)
{
string cleanValue;
if (intVal == null)
{
throw new System.ArgumentException("Value cannot be null", "original");
}
else
{
//cleanValue = Regex.Replace(intVal, " ", "").Replace("(", "").Replace(")", "").Replace(",", "").Replace("/", "").Replace("-", "");
//cleanValue = Regex.Replace(intVal, " ", "").Replace(@"\(", "").Replace(@"\)", "").Replace(",", "").Replace("/", "").Replace("-", "");
//cleanValue = Regex.Replace(intVal, " ", "").Replace("[()]", "").Replace(",", "").Replace("/", "").Replace("-", "");
cleanValue = Regex.Replace(intVal, " ", "").Replace(@"[^a-zA-Z]", "").Replace(",", "").Replace("/", "").Replace("-", "");
}
return cleanValue;
}
你爲什麼要使用正則表達式?你不能使用string.Replace()嗎? – Crono
這只是第一種去掉我偶然發現的東西的方法。我會暫時嘗試替換字符串,但無論這應該也是一個選項。 – user2405778
正則表達式旨在搜索模式,如十進制字符,大寫字母,看起來像電子郵件地址或電話號碼等等。如果您碰巧知道要替換的字符或字符串,string.Replace是更好的選擇,性能明智。 – Crono