如何使用正则表达式从字符串中删除模式
本文关键字:删除 模式 字符串 何使用 正则表达式 | 更新日期: 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 中。
那里有很多方法,但这是它的特定目的之一。