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

[文本处理] 将文本行内容按指定格式分离重新组合/拼接

本帖最后由 pcl_test 于 2017-8-5 10:55 编辑

求大神指点一个bat怎么写
假设我有个配置文本a.txt
内容格式如下:
班级1        小明,小红,小郭        xiaoming,xiaohong,xiaoguo
班级2        小李,小高,小黑        xiaoli,xiaogao,xiaohei
班级3        小白,小露,小天        xiaobai,xiaolu,xiaotian
........以下省略多行
想做一个批处理
实现将a.txt的内容输出为b.txt,内容格式要求
班级1学生为
小明xiaoming
小红xiaohong
小郭xiaoguo
班级2学生为
小李iaoli
小高xiaogao
小黑xiaohei
班级3学生为
小白xiaobai
小露xiaolu
小天xiaotian
........
求大神指点啊

Pyhton
  1. with open("a.txt",'r') as file:
  2.     for i in file:
  3.         print("%s学生为:" % i.split( )[0], file=open("b.txt","a"))
  4.         for j in range(3):
  5.             print("%s %s" % ( i.split( )[1].split(",")[j], i.split( )[2].split(",")[j]), file=open("b.txt","a"))
复制代码
#&cls&@powershell "Invoke-Expression ([Io.File]::ReadAllText('%~0',[Text.Encoding]::UTF8))" &pause&exit

TOP

  1. //&cls&(type a.txt) 2>nul|cscript -nologo -e:jscript "%~f0">"b.txt"&pause&exit
  2. WSH.echo(WScript.StdIn.ReadAll().replace(/(班级\d+)\s+([^\s,]*),([^\s,]*),([^\s]*)\s+([^\s,]*),([^\s,]*),([^\s]*)/g, '$1学生为\r\n$2$5\r\n$3$6\r\n$4$7\r\n').match(/.+/g).join('\r\n'))
复制代码

TOP

回复 3# 3518228042

数据少可以,要真是一个班级几十人呢?正则虽好,可不能“贪杯”

TOP

初来乍道见笑了,正则应该搞不定,正则才只能9个分组,能提取中文部分后赋予变量,再提取英文部分赋予变量,然后两两合并?

TOP

返回列表