我想从字符串中找到路径并将其删除
例如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是一个函数名,因此它只包含字母
答案 0 :(得分:11)
input=Regex.Replace(input,"'[^']+'(?=!MyUDF)","");
如果路径后面跟着!和其他一些你可以使用的词
input=Regex.Replace(input,@"'[^']+'(?=!\w+)","");
答案 1 :(得分:2)
好吧,如果!
总是在你建议的字符串中,这个正则表达式!(.*)?\(
会得到你想要的。这是一个Regex 101来证明它。
要使用它,您可能会这样做:
var result = Regex.Replace(myString, @"!(.*)?\(");
答案 2 :(得分:-1)
如果处理文件路径,则所需的功能位于System.Path。
那里有很多方法,但这是其中一个具体目的。