Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   [решено] VBS - Разделение строки (http://forum.oszone.net/showthread.php?t=242239)

Ragnazar 08-09-2012 10:28 1985066

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

Iska 08-09-2012 11:01 1985075

Код:

Dim arrValues

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

WScript.Echo arrValues(1)

Возможно и просто:
Код:

WScript.Echo Split("login@site.ru", "@")(1)

Ragnazar 09-09-2012 12:28 1985489

Что не так?
Код:

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 1985508

1. «"" & …» — лишнее.
2. При «WScript.Echo» скобки не нужны.
3.
Цитата:

Цитата Ragnazar
Ошибка
Строка 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)



Время: 15:59.

Время: 15:59.
© OSzone.net 2001-