在文本文件中读取和显示数据的数据类型

问题描述 投票:0回答:1
Set FSO = CreateObject("Scripting.FileSystemObject")

Set Note = FSO.OpenTextFile("C:\VB Script Trying\textdata.txt", 1)

Do Until Note.AtEndOfStream
    'Textline = Note.Readline()
    WScript.Echo(VarType(Split(Note.Readline, " ")(1))) 'Dynamically Checked
Loop

上面的代码很简单,我从一个文件中读取并且必须在文本文件中显示每个单词/数字的数据类型。

这个内容:

( Hai 1.2 1000 a b c )

代码只运行“Hai”,它不会显示下一个单词或数字。

vbscript
1个回答
2
投票

您的Split返回一个数组。你在这里选择基于零的数组的SECOND元素Split(Note.Readline, " ")(1)并得到它的vartype。你实际上是在你的数组中获得你的1.2的VarType ...所以不是每个元素,而不是Hai上的第一个项目Split(Note.Readline, " ")(0)

要获取每个元素的vartype,然后迭代您的数组:

Set FSO = CreateObject("Scripting.FileSystemObject")

Set Note = FSO.OpenTextFile("C:\VB Script Trying\textdata.txt", 1)

Do Until Note.AtEndOfStream

    'Textline = Note.Readline()
    For Each elem in Split(Note.Readline, " ")
        WScript.Echo(elem & ": " & VarType(elem))
    Next elem

Loop

这里的一个问题就是输入了一个数组,因为你没有声明这个数组,而是用Split()函数将它变成一个字符串,它可能只是决定每个elem的vartype是一个字符串,但我还没有测试过也许它会吐出预期的类型。

© www.soinside.com 2019 - 2024. All rights reserved.