Board logo

标题: [文本处理] [已解决]批处理如何去掉文本中每一行的特定字符串/截取指定字符前面的内容 [打印本页]

作者: 爱琴海不会走    时间: 2016-2-29 22:36     标题: [已解决]批处理如何去掉文本中每一行的特定字符串/截取指定字符前面的内容

本帖最后由 pcl_test 于 2017-8-21 22:34 编辑

最近在整理直播源时碰到的问题,希望大大能给解决下。问题如下:

今有1.txt文本,格式如下
陕西卫视,letv://shanxi1&splatid=1035').Num('53')">陕西卫视</a>
重庆卫视,letv://chongqing&splatid=1035').Num('54')">重庆卫视</a>
吉林卫视,letv://jilin&splatid=1035').Num('55')">吉林卫视</a>
辽宁卫视,letv://liaoning&splatid=1035').Num('56')">辽宁卫视</a>

等等,一共好多行,我要删除结尾的东西,需要的文本格式如下:
陕西卫视,letv://shanxi1&splatid=1035
重庆卫视,letv://chongqing&splatid=1035
吉林卫视,letv://jilin&splatid=1035
辽宁卫视,letv://liaoning&splatid=1035
也就是我要把每行从').Num开始到</a>的部分全部删了,由于里面包含的信息不同,记事本替换工具没法用,求大大写个批处理解决下。


在此thanks了先。
作者: codegay    时间: 2016-2-29 22:48

方法一
').Num 替换为,存为x.CSV,用excel打开或者导入到EXCEL用。复制第一第二列即可。
作者: codegay    时间: 2016-2-29 22:51

本帖最后由 codegay 于 2016-2-29 23:00 编辑

方法2
notepad++ 正则替换
查找目标\'\)\.Num\(.+
替换为空
作者: codegay    时间: 2016-2-29 23:01

  1. """
  2. python正则替换文本.py
  3. http://bbs.bathome.net/thread-39523-1-1.html
  4. 2016年2月29日 22:52:19 codegay
  5. """
  6. import re
  7. txt=re.sub(r"\'\)\.Num\(.+","",open("1.txt").read())
  8. print(txt)
复制代码
  1. o( ̄▽ ̄)o 2016-02-29 周一22:58:36.60 <( ̄︶ ̄)>
  2. C:\Users\x\Desktop>C:\Users\x\Desktop\python正则替换文本.py
  3. 陕西卫视,letv://shanxi1&splatid=1035
  4. 重庆卫视,letv://chongqing&splatid=1035
  5. 吉林卫视,letv://jilin&splatid=1035
  6. 辽宁卫视,letv://liaoning&splatid=1035
复制代码

作者: ivor    时间: 2016-2-29 23:10

方法2
notepad++ 正则替换
查找目标\'\)\.Num\(.+
替换为空
codegay 发表于 2016-2-29 22:51


建议用notepad++当做平时的文本编辑工具

正则:
  1. '(.*)a>
复制代码

作者: CrLf    时间: 2016-2-29 23:58

  1. @mshta http://bathome.net/s/hta/ WSH.StdIn.ReadAll().replace(/'.*/,'') <1.txt >2.txt
复制代码

作者: 爱琴海不会走    时间: 2016-3-1 00:12

回复 3# codegay


    谢谢大神,用你的方法2解决了问题。我用的软件是http://xhmikosr.io/notepad2-mod/
另一款轻量级的软件,推荐给你。

总之谢谢大神,万分感谢。

PS:这个正则表达挺有用的啊,在哪有正则的教程,想学习学习。
作者: 爱琴海不会走    时间: 2016-3-1 00:14

回复 6# CrLf


    谢谢CrLf大神,学习了。
作者: 爱琴海不会走    时间: 2016-3-1 00:16

回复 5# ivor


    谢谢推荐的工具,问题解决了。
thanks。

PS:另一款文本编辑工具,绿色文件,也推荐给你。哈哈
http://xhmikosr.io/notepad2-mod/
作者: sishentibu    时间: 2016-3-3 18:46

我有个疑问,为什么不用for /f 呢?
  1. @echo off
  2. echo.>3.txt
  3. for /f "delims='" %%i in (1.txt) do echo %%i>>3.txt
复制代码
原文件在1.txt中,改后文件为3.txt。从目前的数据来说,结果也是符合要求的
作者: 爱琴海不会走    时间: 2016-3-3 22:44

回复 10# sishentibu


    谢谢大神,我的问题完美解决了。
作者: sishentibu    时间: 2016-3-4 19:37

回复 11# 爱琴海不会走
别这么说,我也是刚学




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