Первый [\n\r]
требует, чтобы символ новой строки был первым символом входной строки. Это не относится к "blahblah/blah/Content/Snapshot/Engines_Running"
, поэтому оно не соответствует.
Вы можете использовать подобное регулярное выражение в Regex.Replace
методе:
Dim MyRegex As Regex = New Regex(".*?/Content/Snapshot/\s*")
Console.WriteLine(MyRegex.Replace("blahblah/blah/Content/Snapshot/Engines_Running", ""))
См IDEONE demo
Или другие регулярки соответствующего подхода с инвертированным символьным классом:
Dim MyRegex As Regex = New Regex("/Content/Snapshot/\s*([^/]*)")
Console.WriteLine(MyRegex.Match("blahblah/blah/Content/Snapshot/Engines_Running").Groups(1).Value)
Another demo
.*?
шаблон будет соответствовать всем до /Content/Snapshot/
.
Не-регулярное выражение способ заключается в использовании LastIndexOf
и Substring
:
str = str.Substring(str.LastIndexOf("/") + 1)
another IDEONE demo См
Аналогичное регулярное выражение - ['. *?/Content/Snapshot/\ s *'] (https://regex101.com/r/lZ1iK4/1) - может использоваться в функции 'Regex.Replace' для удалите весь согласованный текст и сохраните только то, что вы хотите. –
В настоящее время используется визуальный базовый – Skedge
@plsbegental VB.NET, VBA или VB? Они разные. – cybermonkey