删除字符串中定界符之间的文本(使用正则表达式?)

删除字符串中定界符之间的文本(使用正则表达式?),第1张

删除字符串中定界符之间的文本(使用正则表达式?)

简单的正则表达式为:

string input = "Give [Me Some] Purple (And More) Elephants";string regex = "(\[.*\])|(".*")|('.*')|(\(.*\))";string output = Regex.Replace(input, regex, "");

至于要在其中构建正则表达式的自定义方式,您只需要构建以下部分:

('.*')  // example of the single quote check

然后像我的原始示例一样,将每个正则表达式部分与一个OR(正则表达式中的|)串联起来。构建完正则表达式字符串后,只需运行一次。关键是使正则表达式成为一项检查,因为对一项执行许多正则表达式匹配,然后遍历许多项可能会导致性能显着下降。

在我的第一个示例中,它将替换以下行:

string input = "Give [Me Some] Purple (And More) Elephants";string regex = "Your built up regex here";string sOutput = Regex.Replace(input, regex, "");

我确信有人会发布一个很酷的linq表达式,以根据要匹配的分隔符对象数组来构建正则表达式。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/4921385.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-12
下一篇 2022-11-12

发表评论

登录后才能评论

评论列表(0条)

保存