您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

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

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

简单的正则表达式为:

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表达式,以根据要匹配的分隔符对象数组来构建正则表达式。

其他 2022/1/1 18:16:17 有526人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶