如何使用正则表达式从字符串中删除模式

本文关键字:删除 模式 字符串 何使用 正则表达式 | 更新日期: 2023-09-27 18:36:42

我想从字符串中查找路径并删除它们,例如:

string1 = "'c:'a'b'c'!MyUDF(param1, param2,..) + 'c:'a'b'c'!MyUDF(param3, param4,..)..."`

我想要一个正则表达式来找到模式'[some path]'!MyUDF,并删除'[path]'.

谢谢。

编辑:

示例输入:

string1 = "'c:'a'b'c'!MyUDF(param1, param2,..) + 'c:'a'b'c'!MyUDF(param3, param4,..)";

预期产出:"MyUDF(param1, param2,...) + MyUDF(param3, param4,...)"其中 MyUDF 是函数名称,因此它仅由字母组成

如何使用正则表达式从字符串中删除模式

input=Regex.Replace(input,"'[^']+'(?=!MyUDF)","");

如果路径后面跟着!和其他一些你可以使用的词

input=Regex.Replace(input,@"'[^']+'(?=!'w+)","");

好的,如果!总是如您所建议的那样在字符串中,那么此正则表达式!(.*)?'(将得到您想要的。这是一个正则表达式 101 来证明这一点。

要使用它,您可以执行以下操作:

var result = Regex.Replace(myString, @"!(.*)?'(");

如果您正在处理文件路径,则需要的功能位于 System.Path 中。

那里有很多方法,但这是它的特定目的之一。