PDA

Показать полную графическую версию : [решено] VBS - Разделение строки


Ragnazar
08-09-2012, 10:28
Как разделить полученую в результате InputBox строку?
Например пользователь ввел login@site.ru
Как вывести yandex.ru (или другой сайт который после @) в отдельную переменную?
(Что-бы не спрашивать у пользователя лишний раз будет "smtp." & SiteVar)

Iska
08-09-2012, 11:01
Dim arrValues

arrValues = Split("login@site.ru", "@")

WScript.Echo arrValues(1)

Возможно и просто:
WScript.Echo Split("login@site.ru", "@")(1)

Ragnazar
09-09-2012, 12:28
Что не так?

Dim Server
Dim From

From = InputBox("Ваша почта:", "SaVlad @-mail v2", "User@site.ru")
Server = Split("" & From, "@")
WScript.echo("" & Server)


Ошибка
Строка 6 Символ 1
Несоответствие типа

Так-же и с MsgBox

Iska
09-09-2012, 13:58
1. «"" & …» — лишнее.
2. При «WScript.Echo» скобки не нужны.
3. Ошибка
Строка 6 Символ 1
Несоответствие типа »
Метод «.Echo» не может осуществлять вывод данных агрегатного типа, … которым у Вас является «Server»:
From = InputBox("Ваша почта:", "SaVlad @-mail v2", "User@site.ru")
Server = Split(From, "@")
WScript.Echo TypeName(Server)
в данном случае — массив:
Variant()
. Но можно вывести отдельно взятый элемент массива.
Посему правильным написанием будет являться:
Dim Server
Dim From

From = InputBox("Ваша почта:", "SaVlad @-mail v2", "User@site.ru")
Server = Split(From, "@")
WScript.Echo Server(1)




© OSzone.net 2001-2012