Board logo

标题: [文本处理] 批处理怎样把文本中的一些长度的文字提取出来? [打印本页]

作者: 123aaa    时间: 2013-7-24 12:35     标题: 批处理怎样把文本中的一些长度的文字提取出来?

就是我想把 一个文本中的一些 长度的文字提取出来。

就是说 一个 txt中 有很多词语,有的词语是 2个字的   有的是3个字的,然后就是如何用批处理把 我想要的这个字数提取出来保存在另一个文件当中呢?【文字和文字之间都是有空格的】
作者: 001011    时间: 2013-7-24 12:42

BAT我不会   但是在WORD中很容易实现的

勾选通配符
搜索:<([一-﨩]{2})^13
作者: apang    时间: 2013-7-24 13:00

  1. @echo off&setlocal enabledelayedexpansion
  2. for /f "delims=" %%a in (a.txt) do (
  3.     for %%b in (%%a) do (
  4.         set "str=%%b"
  5.         if "!str:~2!"=="" if "!str:~1!" neq "" echo,!str!
  6.     )
  7. )
  8. pause
复制代码

作者: 123aaa    时间: 2013-7-24 13:15

回复 3# apang


    弱弱的问一句 能不能把这个处理后的直接输出到新的文本文件中呢?不想直接显示到屏幕上。  谢了哈
作者: apang    时间: 2013-7-24 15:49

回复 4# 123aaa


    echo,!str!>>b.txt
作者: 悬崖之树    时间: 2013-7-24 16:33

先过滤空格,再判断。
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /f "tokens=* delims=" %%i in (1.txt) do (
  4.    set i=%%i
  5.    set i=!i: =!
  6.    if "!i:~2!" == "" echo !i!
  7. )
  8. pause
复制代码

作者: CrLf    时间: 2013-7-24 17:44

如果只需要匹配汉字,可以这样:
  1. findstr /v ['-Z] 1.txt | findstr .... ......
复制代码

作者: 123aaa    时间: 2013-7-24 19:20

谢谢大家的帮助了




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