我有多个分隔符大文本文件(1个长线)(例如:~,*,:).所述~分隔符标记一个新的部分,并且*与:分隔符标记子部分或段.
我尝试了以下但是我遇到了类型不匹配错误,可能是因为该Split函数用于字符串而不是数组.
Dim strFileLine, arrSection, arrSegment, arrSegField
strFileLine = "C:\sometextfile.txt"
arrSection = Split(strFileLine, "~")
arrSegment = Split(arrSection, "*")
arrSegField = Split(arrSegment, ":")
Run Code Online (Sandbox Code Playgroud)
我正在尝试使用此逻辑来保持我的段和段字段具有正确的部分,并将这些值插入数据库.
有关如何使用VBScript实现此目的的任何想法?
解决方案取决于如何将字段导入数据库.如果您只想按照它们在输入文件中出现的顺序处理所有字段,则可以使用换行符替换分隔符,然后在换行符处拆分字符串:
Set fso = CreateObject("Scripting.FileSystemObject")
Set text = fso.OpenTextFile("C:\sometextfile.txt").ReadAll
text = Replace(text, "~", vbNewLine)
text = Replace(text, "*", vbNewLine)
text = Replace(text, ":", vbNewLine)
arr = Split(text, vbNewLine)
For Each field In arr
WScript.Echo field
Next
Run Code Online (Sandbox Code Playgroud)
如果需要更加强调输入文件的结构,可以使用嵌套循环处理输入字符串:
Set fso = CreateObject("Scripting.FileSystemObject")
Set text = fso.OpenTextFile("C:\sometextfile.txt").ReadAll
For Each segment In Split(text, "~")
For Each section In Split(segment, "*")
For Each field In Split(section, ":")
WScript.Echo field
Next
Next
Next
Run Code Online (Sandbox Code Playgroud)
为了获得进一步的帮助,您需要提供有关如何将层次结构导入数据库的更多信息,正如Ekkehard.Horner已经指出的那样.