Board logo

标题: [文本处理] 求批处理提取文本内容的方式,可能要正则 [打印本页]

作者: hdjdfb    时间: 2021-7-28 01:44     标题: 求批处理提取文本内容的方式,可能要正则

比如
静夜思作者:李白床前明月光疑是地上霜举头望明月低头思故乡

需要提取单字段是

作者:李白
作者后面可能是三个字比如白居易

有没有办法

是在一个TXT里面有大量的这种诗句,要提取作者
作者: went    时间: 2021-7-28 02:04

如果要智能提取作者的话,要分情况,全是五言绝句还是有其它的?
作者: xhjddjb    时间: 2021-7-28 07:50

回复 2# went


    全是五言绝句,位置比较固定
作者: qixiaobin0715    时间: 2021-7-28 08:44

如果行尾不存在空白字符。
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /f "delims=" %%a in ('findstr /r "作者" a.txt') do (
  4. set str=%%a
  5. set str=!str:*作者=作者!
  6. set str=!str:~0,-20!
  7. echo,!str!
  8. )
  9. pause
复制代码

作者: zztxbat    时间: 2021-7-28 08:57

回复 4# qixiaobin0715


    这个 ~0,-20啥意思
作者: qixiaobin0715    时间: 2021-7-28 09:07

回复 5# zztxbat
http://bbs.bathome.net/thread-14927-1-1.html
作者: Batcher    时间: 2021-7-28 09:27

回复 5# zztxbat


参考set命令教程第8页
http://bbs.bathome.net/thread-31727-1-1.html
作者: qixiaobin0715    时间: 2021-7-28 09:59

回复 5# zztxbat
你真厉害,上来一次注册一次。
作者: zztxbat    时间: 2021-7-28 10:31

回复 4# qixiaobin0715


    试了下发现不行
作者: Batcher    时间: 2021-7-28 10:51

回复 9# zztxbat


请参考Q-01观察一下哪行代码在报错以及详细的报错信息:
https://mp.weixin.qq.com/s/6lbb97qUOs1sTyKJfN0ZEQ

如果仍然看不到报错信息,请把你测试用的文件和bat脚本打包上传到网盘以便他人帮忙排查。
作者: autoav    时间: 2021-7-29 13:53

本帖最后由 autoav 于 2021-7-29 13:55 编辑

一个txt里,我觉得用emeditor这种软件更方便,利用正则表达式,实时查看每一步操作,且可以撤销。
批处理的优点还是大量文件的简单处理
作者: qixiaobin0715    时间: 2021-7-29 13:57

回复 11# autoav
多个文件也可,写个宏文件即可。
作者: autoav    时间: 2021-7-29 15:52

回复  autoav
多个文件也可,写个宏文件即可。
qixiaobin0715 发表于 2021-7-29 13:57

是的,批处理不直观,不可撤销,只适合大量文件的简单处理
作者: qixiaobin0715    时间: 2021-7-29 21:32

回复 13# autoav
可是一般来说批处理处理文本时,是在副本上进行的,即使有问题也不会对源文件造成影响,不存在恢复问题,除非有意进行控制。
作者: autoav    时间: 2021-8-2 11:04

回复  autoav
可是一般来说批处理处理文本时,是在副本上进行的,即使有问题也不会对源文件造成影响,不存 ...
qixiaobin0715 发表于 2021-7-29 21:32



    我用批处理,经常是大量文件,基本上都是反复确认,一旦执行后,不会留底,当然也都是小说,真的错了,也不会引起大问题。
作者: cmd1152    时间: 2021-8-2 22:56

回复 15# autoav


    我是直接放隔离沙箱,怕出问题




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