2013-01-03 44 views
-5

我正在尋找一種可以刪除字符串中字符的方法。 例如我有「3 * X^4」,我想刪除字符'*'&'^',那麼字符串就像這個「3X4」。刪除字符串中的字符

+3

刪除所有特殊字符(http://whathaveyoutried.com)和[查看列表](HTTP [你嘗試過什麼?]:// TinyURL的。 com/so-list) – ryadavilli

回答

3

可能:

string s = Regex.Replace(input, "[*^]", ""); 
+0

+1我不知道,謝謝 –

3
var s = "3*X^4"; 
var simplified = s.Replace("*", "").Replace("^", ""); 
// simplified is now "3X4" 
0

另一個解決方案是人工提取想要的字符 - 這可能是稍微更好的性能比一邊喊string.Replace特別是對於較大不想要的字符數:

StringBuilder result = new StringBuilder(input.Length); 
foreach (char ch in input) { 
    switch (ch) { 
     case '*': 
     case '^': 
      break; 
     default: 
      result.Append(ch); 
      break; 
    } 
} 
string s = result.ToString(); 

或者也許提取是錯誤的字:相反,你複製除了你不想要的那些字符以外的所有字符。

1

嘗試this..it將字符串

public static string RemoveSpecialCharacters(string str) 
{ 
    StringBuilder sb = new StringBuilder(); 
    foreach (char c in str) 
    { 
     if ((c >= '0' && c <= '9') || (c >= 'A' && c <= 'Z') || (c >= 'a' && c <= 'z') 
     || c == '.' || c == '_') 
     { 
      sb.Append(c); 
     } 
    } 
return sb.ToString(); 
}