从String中删除char

时间:2013-01-03 13:52:57

标签: c# .net string

我正在寻找一种可以删除字符串字符的方法。 例如,我有“3 * X ^ 4”,我想删除字符'*'& '^'然后字符串就像这个“3X4”。

5 个答案:

答案 0 :(得分:3)

也许:

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

答案 1 :(得分:3)

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

答案 2 :(得分:1)

试试这个..它将从字符串

中删除所有特殊字符
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();
}

答案 3 :(得分:0)

试试这个:String.Replace(Old String, New String)

string S = "3*X^4";
string str = S.Replace("*","").Replace("^","");

答案 4 :(得分: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();

或者提取可能是错误的词:而是复制除了那些你不想要的字符之外的所有字符。