找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 23733|回复: 4

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

[复制链接]
发表于 2017-8-4 16:56:58 | 显示全部楼层 |阅读模式
本帖最后由 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
........
求大神指点啊
发表于 2017-8-4 19:42:26 | 显示全部楼层
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"))
复制代码
发表于 2017-8-4 20:23:56 | 显示全部楼层
  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'))
复制代码
发表于 2017-8-4 21:14:44 | 显示全部楼层
回复 3# 3518228042

数据少可以,要真是一个班级几十人呢?正则虽好,可不能“贪杯”
发表于 2017-8-4 21:27:49 | 显示全部楼层
初来乍道见笑了,正则应该搞不定,正则才只能9个分组,能提取中文部分后赋予变量,再提取英文部分赋予变量,然后两两合并?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-17 21:28 , Processed in 0.017839 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表