我有一个字符串:
Dim fileName = "\something\folderName\subFolder\" + randomOtherStuff
我需要将folderName\subFolder\
及其后的任何内容替换为字符串的结尾,但我不知道randomOtherStuff中的内容。
我正在使用Regex.Replace(fileName, pattern, newValue)
,但我不知道该模式应该是什么。我知道我需要以某种方式逃避反斜杠,我需要一种方法来捕捉随后的任何角色。
有关如何使用Visual Basic代码执行此操作的任何建议都会很棒。
答案 0 :(得分:1)
您可以使用(?s)\\folderName\\subFolder\\.*
模式删除\folderName\subFolder\
子字符串及其后的任何内容:
Dim fileName = "\something\folderName\subFolder\randomOtherStuff"
Dim newValue = "<NEW_VALUE>"
Dim res = Regex.Replace(fileName, "(?s)\\folderName\\subFolder\\.*", "\" & newValue)
请参阅VB.NET demo。
请注意,(?s)
与RegexOptions.Singleline
相同,可使.
匹配换行符号(默认情况下与.
不匹配)。