Board logo

标题: [文本处理] 求一个文本处理工具 [打印本页]

作者: studentbook2000    时间: 2015-7-10 23:43     标题: 求一个文本处理工具

大致功能是这样的,有如下文本a.doc(a.txt也行)

内容是“张三是五班三好学生”

把张三换成Excel或txt中的(或者手工输入,鼠标拖拽)其他30个人,生成以人名命名文件


例如李四.doc或者txt,内容是“李四是三好学生”
作者: xp3000    时间: 2015-7-11 08:36

这个配合JScript应该能完成,无非是个正则表达式分割,
^([\u4e00-\u9fa5]{2,4})(是[零一二三四五六七八九十]+班)(三好学生)$
这个表达式意思是,
分组1:任意中文2-4个字
分组2:是+[]内的任意字符串1个或多个+班
分组3:三好学生
分组就是以()分开的,^行首,$行尾,用上去也是防止误切割文本中间的内容,如果没必要就去掉相关的。
命名取分组1和分组3,$1$3

有正则表达式分割软件,可以用正则表达式分割TXT,不过弄完还要重命名一次,感觉麻烦,就不介绍了,留贴坐等高手
作者: flyinnet9    时间: 2015-7-11 15:13

本帖最后由 flyinnet9 于 2015-7-11 15:28 编辑

文本处理不能处理excel和word,且a.txt的内容可能影响取值,最好贴a.txt的内容

按你的举例写一个,坐等大神

假设name.txt中含有所有姓名、班级,且每行一个名字,格式大概这样
姓名  班级
  1. @echo off
  2. set str1=是
  3. set str2=三好学生
  4. for /f "tokens=1,2 delims= " %%a in (name.txt) do echo %%a%str1%%%b%str2% >%%a.txt
复制代码

作者: xp3000    时间: 2015-7-11 17:06

赵大是一班三好学生
赵大所在班级一年级一班共有三好学生十六名,......
钱二是二班三好学生
钱二所在班级二年级二班共有三好学生十六名,......
孙三是三班三好学生
孙三所在班级三年级三班共有三好学生十六名,......
李四是四班三好学生
李四所在班级四年级四班共有三好学生十六名,......
周五是五班三好学生
周五所在班级五年级五班共有三好学生十六名,......
吴六是六班三好学生
吴六所在班级六年级六班共有三好学生十六名,......
郑七是七班三好学生
郑七所在班级七年级七班共有三好学生十六名,......
王八是八班三好学生
王八所在班级八年级八班共有三好学生十六名,......

举例,txt,log格式数个,希望JScript高手也能处理下




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2