Пропустить строку из замены, если она имеет суффикс или постфикс <VBScript> - PullRequest
0 голосов
/ 25 марта 2020

У меня есть один большой файл, в котором мне нужно заменить одну строку из другой. Файл генерируется из сборки Jenkins Build, и для его обработки используется VBscript.

Вот сделка для меня, я могу просто заменить строку следующим образом:

Replace(str_Renamed, "Variables", "Variables_Base", 1, -1, 1) 

, но в том же файле «переменные» также есть с суффиксом и постфиксом, эти конкретные строки мне нужно пропустить замену.

имеет ли VBscript любую функцию, которая может быть полезна для вышеуказанных условий. Я также ищу ответы, если я найду что-нибудь для этого. Я опубликую здесь.

PS - я пробовал и с Regex, но у меня это не сработало.

Специальный символ «^» соответствует началу строки. Аналогично, специальный символ «$» соответствует концу строки, тогда как шаблон «^ abc $» соответствует только точная строка «ab c».

https://developer.rhino3d.com/guides/rhinoscript/vbscript-regexp-objects/#regular -expression-синтаксис

DIM oRE
Set oRE = New RegExp
oRE.Global = True
oRE.Pattern = "^Variables$" 
oRE.Replace("all Varablies value Replaced in FVariablesTemp File", "Variables_Base")

он должен заменять только «Переменные», а не любые другие строка с подстрокой в ​​виде «переменных»

Теперь, кто-нибудь может обновить меня, как использовать регулярные выражения в VbScript?

1 Ответ

1 голос
/ 30 марта 2020

Синтаксис регулярных выражений

^abc    string starts with "abc"
abc$    string ends with "abc"

, поэтому при использовании ^Variables$ вы ищете не часть, а всю строку.

Вместо этого используйте

oRE.Pattern = "\bVariables\b" 

, где \b обозначает границу слова.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...