Board logo

标题: [文本处理] 批处理如何统计文本内容的段落? [打印本页]

作者: wh1234567    时间: 2011-1-11 18:50     标题: 批处理如何统计文本内容的段落?

批处理如何统计文本内容的段落?用空行分开的为一段,而不是空格
文本里的内容杂乱无章,文字符号数字啥都有,也不规律,只要求统计只要是用空行隔开的,不管中间空行是几行,就默认是一段落,也就是说每行文字中间只要有一个空行,那么,就为一段,用批处理如何实现统计?
作者: hanyeguxing    时间: 2011-1-11 19:43

1,文本ansi编码
2,文本行首不能:开头
  1. @echo off
  2. set n==
  3. for /f "tokens=1* delims=:" %%a in ('findstr /n .* "1.txt"') do if "%%b"=="" (set n==) else (
  4.         if defined n set/a a+=1
  5.         set n=
  6. )
  7. echo 段落数:%a%
  8. pause
复制代码

作者: wh1234567    时间: 2011-1-11 20:56     标题: 感谢版主

问题已解决,谢谢
作者: latu327    时间: 2011-1-14 17:21

太感谢了!!!!知道了
作者: wc726842270    时间: 2011-1-14 23:48

刚看见这个很想用FINDSTR/N和"."或".*"作个加减法了.呵呵
作者: wc726842270    时间: 2011-1-14 23:52     标题: 回复 2楼 的帖子

版主的变量用的实在是太好了,用=代替了空行,又学了一招.




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