Board logo

标题: [文本处理] 批处理如何只删除文本中每行汉字后的回车换行符保留标点符号后的回车换行符 [打印本页]

作者: keshun    时间: 2013-10-21 11:44     标题: 批处理如何只删除文本中每行汉字后的回车换行符保留标点符号后的回车换行符

批处理清除每行汉字后的回车
批处理清除文本汉字后的回车,但保留文本符号后的回车。求代码,谢谢!

复制的文本内容每行都有回车,如果统一清除回车会影响文本段落,为了不影响文本原有段落,须清除汉字后的回车,也清除,保留符号后的回车。

参附件文本内容。统一清除每行第25个字后面的回车也行。
作者: DAIC    时间: 2013-10-21 13:38

把文件压缩之后传上来看看
作者: tmplinshi    时间: 2013-10-21 22:52

本帖最后由 tmplinshi 于 2013-10-21 23:02 编辑

单个文件:
  1. wfr a.txt -rnnl:"([^。:;)?!》])[\r\n]+" -t:"\1"
复制代码
多个文件:
  1. wfr *.txt -rnnl:"([^。:;)?!》])[\r\n]+" -t:"\1"
复制代码
wfr 下载地址: http://baiy.cn/utils/wfr/index.htm

请注意备份!
作者: keshun    时间: 2013-10-22 17:53

回复 3# tmplinshi


    谢谢!!代码我测试了,会清除掉所有回车。

我发现当所有回车清除后,虽然文本变成一个整段,但有一个明显的特征就是有两个空格键,因此我想代码在清除所有回车后,在两个空格键前加个回车。这样就变回来原始文本,在此请教,求代码,感谢!
作者: tmplinshi    时间: 2013-10-22 18:43

回复 4# keshun
  1. wfr a.txt -rnnl:"([^。:;)?!》])[\r\n]+" -t:"\1"
  2. wfr a.txt -r:"[\r\n]+  " -t:"\r\n\0"
复制代码

作者: pcl_test    时间: 2016-8-6 20:35

  1. //&cls&cscript -nologo -e:jscript "%~f0"<"文本.txt"&pause&exit
  2. WSH.echo(WSH.StdIn.ReadAll().replace(/[\r?\n]+/g,'').replace(/[ ]{2}|[ ]{4}/g,'\r\n$&'))
复制代码

作者: 屡败屡战    时间: 2018-7-29 20:28

本帖最后由 屡败屡战 于 2018-7-30 21:06 编辑

老师好,我也遇到类似情况,有大量的文本,无规则的、随机的间隔几个汉字换行(而不是按文本符号换行),看得头痛不己,需要人工不停的删除“汉字”后的换行符,累得手抽筋。
上述代码测试后,经发现会清除所有回车,整个文本内容变成一个整段,整篇文章就一个整段,这样的处理与求助提出的要求不符合。
求助帖的要求:批处理清除文本汉字后的回车,但要保留文本符号后的回车。
本人手头有大量的文本需要处理。
作者: 屡败屡战    时间: 2018-7-30 21:02

请问,有谁见过这样的问题?
作者: yhcfsr    时间: 2018-7-31 10:36

回复 8# 屡败屡战


实测无问题,不知你的改的代码是怎么样的?文本的实际内容可能也会影响结果.
作者: 屡败屡战    时间: 2018-8-1 08:56

感谢yhsfsr老师,你说的没错,听你的话,我又测试了好多遍,是我这边的问题,代码是有效的。我先前是用记事本打开测试文件,的的确确是整篇内容就一个段落,后来听你的,我又反复试试,无意中用word打开文件后,文档居然是切分段落的,代码是有效的,是我以前误导了。
在此表示感谢!!




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