如何使用Regex.Replace允许空格

时间:2014-06-26 05:22:31

标签: c# asp.net regex

我在asp.net c#中创建了web服务方法,而我正在使用Regex.Replace方法,因为在结果中返回了一些无效字符,现在如何在该方法中允许空格,因为在Regex.Replace方法中,白色空间被消除。 看我的代码:

public string list(long empid, string name, string pwd, long id)
{
    HttpWebRequest request = (HttpWebRequest)WebRequest.Create(link);
    request.Connection = Regex.Replace((empid, name, pwd, id), "[^\"a-zA-Z0-9_?<>+=./:-]", "");
    string connection = request.Connection;
    return connection;
}

如果我在regex中使用空格。就像这样:

request.Connection = Regex.Replace((empid, name, pwd, id), "[^\"a-zA-Z0-9_?<>+=./:- ]", "");

我收到错误:

System.ArgumentException: parsing &quot;[^&quot;a-zA-Z0-9_?&lt;&gt;+=./:- ]&quot; - [x-y] range in reverse order.

1 个答案:

答案 0 :(得分:3)

您只需将该字符添加到您的班级即可。

[^\"a-zA-Z0-9_?<>+=./: -]

  

如果我使用这样的空格: [^\"a-zA-Z0-9_?<>+=./:- ] 我收到错误....

在字符类[ ]中,您可以将连字符作为范围中的第一个或最后一个字符。如果你将连字符放在任何其他地方你需要逃脱它。