VB.Net Regex - 如何替换模式后面的所有字符

时间:2017-05-19 09:07:14

标签: regex vb.net

我有一个字符串:

Dim fileName = "\something\folderName\subFolder\" + randomOtherStuff

我需要将folderName\subFolder\及其后的任何内容替换为字符串的结尾,但我不知道randomOtherStuff中的内容。

我正在使用Regex.Replace(fileName, pattern, newValue),但我不知道该模式应该是什么。我知道我需要以某种方式逃避反斜杠,我需要一种方法来捕捉随后的任何角色。

有关如何使用Visual Basic代码执行此操作的任何建议都会很棒。

1 个答案:

答案 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相同,可使.匹配换行符号(默认情况下与.不匹配)。