как заменить текст в vbscript

Я пытаюсь использовать vbscript для замены ввода, например, пользователь вводит имя в формате фамилия, имя, но как только он вводит, я хочу напечатать его как привет: имя фамилия

это то, что у меня есть до сих пор

     strInput = InputBox("Enter name, LastName,FirstName Format")
  WScript.Echo "Hello: " & strInput

person user2456195    schedule 21.04.2014    source источник


Ответы (2)


Поскольку между фамилией и именем будет запятая, вы можете использовать функцию Split для разделения имен в массив.

a = Split(strInput, ",")

Теперь a(0) — это первый элемент (их фамилия), а a(1) — второй элемент (их имя).

MsgBox "Hello " & a(1) & " " & a(0)
person Bond    schedule 21.04.2014
comment
Кроме того, в vbscript вы можете автоматически анализировать команду split без сохранения ее в переменной, добавляя индекс массива непосредственно к split(). Например. split(strInput, ",")(1) & " " & split(strInput, ",")(0) - person Rich; 22.04.2014

Используйте Split() для ",", чтобы получить части и изменить их порядок:

>> inp = "LastName,FirstName"
>> alf = Split(inp, ",")
>> WScript.Echo alf(1), alf(0)
>>
FirstName LastName

В зависимости от ввода вам может потребоваться сначала позаботиться о "," (пробел после запятой).

RegExp - как в

>> Set r = New RegExp
>> r.Pattern = "(\w+),(\w+)"
>> WScript.Echo r.Replace(inp, "$2 $1")
>>
FirstName LastName

облегчит работу с нестандартным вводом.

Чтобы добавить 3-ю стратегию - Instr()/Mid() -

>> p = Instr(inp, ",")
>> WScript.Echo Mid(inp, p + 1) & " " & Mid(inp, 1, p - 1)
>>
FirstName LastName
person Ekkehard.Horner    schedule 21.04.2014