如何逐字读取字符串

How to read a string word by word

我有一个 VBScript 可以从 txt 文件中读取用户名。用户名来自一长串目录和后面的一些附加信息。使用 VBS,我必须从文本文件中删除该行的第一部分和最后一部分,以便只读取名称。

现在,我的变量 (strName) 会给我这样的结果:"john doe"。我的最终目标是将其转换为电子邮件地址。域总是相同的,所以我需要能够以 "john doe" 开始并以 "john.doe@gmail.com" 结束(不打算指定实际域,因为它 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))

如果您的源字符串始终采用以下形式:

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) 附加到 return 那个字符串。

现在我们有了 John Doe,只需再次使用 Split()(space 字符是默认字符)来提取名字和姓氏。

现在您可以创建您的电子邮件地址:

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