排除字符串开头和结尾的特殊字符
本文关键字:特殊字符 结尾 字符串 开头 排除 | 更新日期: 2023-09-27 18:10:30
我想要一个正则表达式来排除字符串开头和结尾的特殊字符
我试过这个代码,但它不工作
String strFileName = Regex.Replace(FileName, @"[^A-Za-z0-9-_ ]", "");
<asp:RegularExpressionValidator ID = "Regular"
ValidationGroup = "valGroup" runat="server" ControlToValidate = "txtreport"
ErrorMessage = "Please enter valid data."
ValidationExpression = "([a-z]|[A-Z]|[0-9])*">
</asp:RegularExpressionValidator>
差不多完成了,只需添加锚将匹配绑定到字符串的开头或结尾,并告诉regex引擎匹配多个字符:
String strFileName = Regex.Replace(FileName,
@"^ # Match the start of the string
[^A-Z0-9_ -]+ # followed by one or more characters except these
| # or
[^A-Z0-9_ -]+ # Match one or more characters except these
$ # followed by the end of the string",
"", RegexOptions.IgnoreCase | RegexOptions.IgnorePatternWhitespace);
还有,你的ValidationExpression
很奇怪。
ValidationExpression="[a-zA-Z0-9]*"
的意思相同,但不允许_
, <space>
和-
,您的"特殊字符替换器"忽略了。所以你可能想用
ValidationExpression="[a-zA-Z0-9_ -]*"