2016-06-08 3 views
-1

Мне нужно заменить строку timestamp (n) строкой fix6) в vbs. где n может быть любым значением, а строка поиска должна быть нечувствительной к регистру.Заменить переменную строку в vbs

strLine = fle1.ReadLine

«strLine = (заменить (strLine, "TIMESTAMP (0)", "TIMESTAMP (6)")

Пожалуйста, помогите мне это при любом значении п.

+0

Не могли бы вы показать пример (или несколько примеров) 'strline' и какой будет ваш желаемый результат. Неясно, что вы подразумеваете под 'TIMESTAMP (0)', 'TIMESTAMP (6)' и 'STRING (6)', поскольку VBS не имеет ни одного из этих типов изначально и языки, которые это делают, отличаются тем, как они отформатирована. – JNevill

ответ

0

Используйте Regexp Replace:..

>> Set r = New RegExp 
>> r.Pattern = "TIMESTAMP\(\d+\)" 
>> For Each s In Split("TIMESTAMP(1) TIMESTAMP(11) TIMESTAMP(9)") 
>>  WScript.Echo s, r.Replace(s, "TIMESTAMP(6)") 
>> Next 
>> 
TIMESTAMP(1) TIMESTAMP(6) 
TIMESTAMP(11) TIMESTAMP(6) 
TIMESTAMP(9) TIMESTAMP(6) 
0

вы можете использовать Replace, но вы не можете пропустить какой-либо из необязательных параметров

strLine = Заменить (fle1.ReadLine "ТШЕЗТАМР (0)", "ТШЕЗТАМР (6)", 1, -1, 1)

0
Set regEx = CreateObject("VBScript.RegExp") 
    'regEx.Pattern = "(TIMESTAMP\([0-9].?\))" 
    'regEx.IgnoreCase = True 

    'strLine=regEx.Replace(strLine, "TIMESTAMP(6)") 

я, наконец, сделал это как я очень но к нему, но чему учиться? Кстати, спасибо за помощь.

Смежные вопросы