在VBSCRIPT中分隔文本的方法

时间:2014-06-27 16:26:18

标签: vbscript delimiter

我有一个包含以下输入的文件

“SMEGOLD 1312”,20131127,“C”,“11606233E”,“SMX”,“C”,20131009,170028,“SMX”,“70207”,0,1,4699,0,469.9,“USD”, 0 “” 0 “” 0 “” 0 “”,0,0,0,8062696, “”,0,20131009,170028, “系统”, “25228”, “”,“166 ”, “121328200000223”,785,0, “”, “”, “”, “”, “”, “”, “”, “”, “”, “”, “”, “”,0,0, 0 “”,20131009,170028, “ADVMEE”

“SMEGOLD 1312”,20131127,“C”,“11606233E”,“SMX”,“C”,20131009,170030,“SMX”,“70207”,0,1,4699,0,469.9,“USD”, 0 “” 0 “” 0 “” 0 “”,0,0,0,8062697, “”,0,20131009,170031, “系统”, “25228”, “”,“167 ”, “121328200000223”,786,0, “”, “”, “”, “”, “”, “”, “”, “”, “”, “”, “”, “”,0,0, 0 “”,20131009,170028, “ADVMEE”

我想要实现的只是获取该行的第一个引用文本。示例“SMEGOLD 1312”。然后我想将提取的文本的前3个字符和最后4个字符追加到后面。

然后移到下一行继续执行程序直到文件结束。

任何建议都会有很大的帮助。我尝试使用objRegEx.Pattern,但无济于事

由于

1 个答案:

答案 0 :(得分:1)

使用切割/分组toto(1)中的第一个字段,前三个(2)和后四个(3)字符以及所有其余字符(4)的模式。然后。创造性地更换:

>> s = Replace("'SMEGOLD 1312','whatever','ADVMEE'", "'", """")
>> WScript.Echo s
>> Set r = New RegExp
>> r.Pattern = "^((""[^""]{3})[^""]*?([^""]{4}""))(.*)"
>> WScript.Echo r.Replace(s,"$1$4,$2$3")
>>
"SMEGOLD 1312","whatever","ADVMEE"
"SMEGOLD 1312","whatever","ADVMEE","SME1312"