2015-08-17 5 views
1

У меня есть VBScript, который читает имя пользователя из txt-файла. Имена пользователей поступают из длинной строки каталога и дополнительной информации после. Используя VBS, я должен удалить первую часть и последнюю часть строки из текстового файла, чтобы читать только имя.Как читать строковое слово по слову

Теперь моя переменная (strName) даст мне что-то вроде: "john doe". Моя конечная цель - превратить это в адрес электронной почты. Домен всегда один и тот же, поэтому мне нужно начинать с "john doe" и заканчивать "[email protected]" (Не указывая фактический домен, как он s irrelevant to the question). Right now I was able to add the «@ gmail.com», в строку, но я понятия не имею, как делать все остальное

Я думаю читать первое имя в новую переменную strFirstName и фамилию во втором strLastName, а затем добавить линию вдоль линий:.

strName = strFirstName + "." + strLastName + "@gmail.com" 

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

strName = Mid(strName, 4 + 11) 
strName = Left(strName, (LEN(strName)-13)) 
+0

Что исходная строка выглядит? Есть ли просто пробелы между словами или другие персонажи? – Bond

+0

Исходная строка начинается с: «C: \ Directory \ John Doe \ OS - Информация» . После запуска двух строк в конце моего исходного сообщения строка теперь следующая: John Doe. Все, что есть, - это пространство между Джоном и Доу. – user3216887

ответ

1

Если исходная строка всегда в форме:

C:\Directory\first last\OS - Information 

Затем вы можете извлечь имя и фамилию, используя несколько Split() S:

strSource = "C:\Directory\John Doe\OS - Information" 
strName = Split(strSource, "\")(2) 
strFirst = Split(strName)(0) 
strLast = Split(strName)(1) 

Первые Split() отделяющую ваша строка \, создавая 4 элемента. Поскольку вы только заботитесь о третьем (индекс 2), вы можете просто добавить (2), чтобы вернуть именно эту строку.

Теперь, когда у нас есть John Doe, просто используйте Split() (символ пробела по умолчанию), чтобы извлечь имя и фамилию.

Теперь вы можете создать свой адрес электронной почты:

strEmail = strFirst & "." & strLast & "@gmail.com" 
+0

Он отлично работает! Большое спасибо за Вашу помощь! Он очень благодарен – user3216887

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