【问题标题】:regular expression to reject non-alphanumeric characters拒绝非字母数字字符的正则表达式
【发布时间】:2009-12-15 10:09:18
【问题描述】:

为什么这个正则表达式不起作用?我想用所有非默认字符替换我的字符串

legal are = a-Za-z0-9-rest 应该被替换并在没有禁止字符的情况下返回

  protected string FormatToInvalidChars(string InputString)
    {
        string RegexPattern = @"(^[A-Za-z0-9]*)$";

            string s = Regex.Replace(InputString.Trim(), RegexPattern, "$1");

            return s;

    }

【问题讨论】:

    标签: c# asp.net regex replace


    【解决方案1】:
    string s = Regex.Replace(InputString.Trim(),@"[^A-Za-z0-9]+","");
    

    【讨论】:

    • 谢谢,似乎合乎逻辑。 ...现在:)
    【解决方案2】:

    你的模式没有意义。这样你只匹配一个字符串。

    你想要的可能是替换

    [^A-Za-z0-9]
    

    一个空字符串。

    【讨论】:

      【解决方案3】:

      尝试以下方法:

      Regex.Replace(InputString.Trim(), @"[^A-Za-z0-9-]", "");
      

      (假设连字符也是合法的,正如您在问题中所说)

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-06-06
        • 2013-01-06
        • 1970-01-01
        • 1970-01-01
        • 2017-04-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多