tif*_*tif 13 c# regex replace remove-if
我有一个正则表达式来验证字符串.但现在我想删除所有与我的正则表达式不匹配的字符.
例如
regExpression = @"^([\w\'\-\+])"
text = "This is a sample text with some invalid characters -+%&()=?";
//Remove characters that do not match regExp.
result = "This is a sample text with some invalid characters -+";
Run Code Online (Sandbox Code Playgroud)
有关如何使用RegExpression确定有效字符并删除所有其他字符的任何想法.
非常感谢
emf*_*rry 15
我相信你可以在一行中做到这一点(白名单并替换其他所有内容):
var result = Regex.Replace(text, @"[^\w\s\-\+]", "");
Run Code Online (Sandbox Code Playgroud)
从技术上讲,它会产生这样的结果:"这是带有一些无效字符的示例文本 - +",它与您的示例略有不同( - 和+之间的额外空格).
Dan*_*rth 11
就那么简单:
var match = Regex.Match(text, regExpression);
string result = "";
if(match.Success)
result = match.Value;
Run Code Online (Sandbox Code Playgroud)
删除不匹配的字符与保持匹配的字符相同.这就是我们在这里所做的.
如果表达式可能在文本中多次匹配,则可以使用:
var result = Regex.Matches(text, regExpression).Cast<Match>()
.Aggregate("", (s, e) => s + e.Value, s => s);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
28892 次 |
| 最近记录: |