[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[问题求助] vbs如何截取/提取txt文本里以指定字符分割的每一行的第一列/首个字段的内容

本帖最后由 pcl_test 于 2016-9-13 19:56 编辑

请教老师?
    将1.txt内容, 实现2.txt内容功能的vbs代码。

1.txt
601727|20141023 和欧洲燃气轮机巨头-意大利安萨尔多公司签署协议,占有40%股权|0.000
600808|20141030 高铁火轮装备制造龙头|0.000
000988|20141103 激光上游的核心技术—激光器|0.000
002008|20141103 激光切割设备|0.000
300024|20141103 激光显示|0.000 请教老师?

2.txt
601727
600808
000988
002008
300024

          谢谢!!!!
1

评分人数

    • pcl_test: 勿发笼统无意义的标题PB -6

  1. Text = readTextFile("1.txt")
  2. Text = reReplace(Text,"\|.*",vbCrLf)
  3. writeTextFile Text,"2.txt"
  4. Function readTextFile(Path)
  5. Dim fso,ts
  6. Set fso = CreateObject("Scripting.Filesystemobject")
  7. Set ts = fso.OpenTextFile(Path,1)
  8. readTextFile = ts.ReadAll
  9. ts.Close
  10. End Function
  11. Function writeTextFile(Text,Path)
  12. Dim fso,ts
  13. Set fso = CreateObject("Scripting.Filesystemobject")
  14. Set ts = fso.CreateTextFile(Path,True)
  15. ts.Write Text
  16. ts.Close
  17. End Function
  18. Function reReplace(string1,Pattern,string2)
  19. Set re = New RegExp
  20. re.Pattern = Pattern
  21. re.Global = True
  22. re.IgnoreCase = True
  23. re.MultiLine = True
  24. reReplace = re.Replace(string1,string2)
  25. End Function
复制代码
sed 更方便:
  1. @sed "s/|.*//" 1.txt >2.txt
复制代码
1

评分人数

TOP

本帖最后由 hnldwhm52 于 2015-1-13 17:34 编辑
sed 更方便:
CrLf 发表于 2015-1-13 15:26


CrLf老师!!
     您 好!!感谢您的解答!!第一种方法通过,不知何故第二种方法未通过,我使用的是win7系统。

TOP

回复 3# hnldwhm52


    你需要下载一个 sed.exe

TOP

回复  hnldwhm52


    你需要下载一个 sed.exe
DAIC 发表于 2015-1-13 17:47


CrLf老师!!
     您 好!!再次感谢您的解答!!我下载了sed.exe且运行,2.txt里是空的。
   

TOP

回复 5# hnldwhm52


我这里测试没有问题
1、看看1.txt是不是ANSI编码
2、看看sed的版本是不是有问题
3、如果你要把代码放到bat文件里面的话不要命名成sed.bat试试test.bat

c:\Test>sed "s/|.*//" 1.txt >2.txt

c:\Test>type 2.txt
601727
600808
000988
002008
300024

c:\Test>sed --version
sed (GNU sed) 4.2.2
1

评分人数

TOP

本帖最后由 hnldwhm52 于 2015-1-14 11:15 编辑
回复  hnldwhm52


我这里测试没有问题
1、看看1.txt是不是ANSI编码
2、看看sed的版本是不是有问题
...
DAIC 发表于 2015-1-14 09:45


DAIC 老师!
     您 好!!再次感谢您的细心解答!已解决。
1

评分人数

    • pcl_test: 指定回应某楼层的在相应楼层点回复,少引用PB -6

TOP

返回列表