У меня есть текстовый файл, содержащий результаты передачи зоны, и мне нужно прочитать каждую строку и разбить ее на массив, чтобы вывести список имен серверов и IP-адресов. Однако у меня возникли некоторые проблемы с разделением данных, так как моя попытка разделителя пробелов, похоже, не выполняет то, что я хочу.
Пример ввода:
machine1.fqdn.com. 86400 IN A 192.168.1.10
machine2.fqdn.com. 86400 IN A 192.168.1.11
machine3.fqdn.com. 86400 IN A 192.168.1.12
machine4.fqdn.com. 86400 IN A 192.168.1.13
Сценарий:
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFile = objFSO.OpenTextFile("I:\testHarvestIF.txt", ForReading)
Const ForReading = 1
Do Until objFile.AtEndOfStream
strNextLine = objFile.Readline
arrServiceList = Split(strNextLine," ",-1,1)
Wscript.Echo "Server name: " & arrServiceList(0) & vbCrLF & _
" - IP Address: " & arrServiceList(2)
Loop
objFile.Close
Токовый выход:
Server name: machine1.fqdn.com.
IP Address: IN A 192.168.1.10
Server name: machine2.fqdn.com.
IP Address: IN A 192.168.1.11
Server name: machine3.fqdn.com.
IP Address: IN A 192.168.1.12
Server name: machine4.fqdn.com.
IP Address: IN A 192.168.1.13
Желаемый вывод:
Server name: machine1.fqdn.com.
IP Address: 192.168.1.10
Server name: machine2.fqdn.com.
IP Address: 192.168.1.11
Server name: machine3.fqdn.com.
IP Address: 192.168.1.12
Server name: machine4.fqdn.com.
IP Address: 192.168.1.13
Есть ли какой-нибудь способ, которым я мог бы использовать регулярное выражение, чтобы использовать любую длину пробела в качестве разделителя? Э.Г.
arrServiceList = Split(strNextLine,"^\s+",-1,1)
Заранее благодарим за любую помощь, которую вы можете предложить.
С уважением,
RB