找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 25492|回复: 7

[文本处理] 批处理怎样把文本中的一些长度的文字提取出来?

[复制链接]
发表于 2013-7-24 12:35:56 | 显示全部楼层 |阅读模式
就是我想把 一个文本中的一些 长度的文字提取出来。

就是说 一个 txt中 有很多词语,有的词语是 2个字的   有的是3个字的,然后就是如何用批处理把 我想要的这个字数提取出来保存在另一个文件当中呢?【文字和文字之间都是有空格的】
发表于 2013-7-24 12:42:53 | 显示全部楼层
BAT我不会   但是在WORD中很容易实现的

勾选通配符
搜索:<([一-﨩]{2})^13
发表于 2013-7-24 13:00:49 | 显示全部楼层
  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
复制代码
 楼主| 发表于 2013-7-24 13:15:14 | 显示全部楼层
回复 3# apang


    弱弱的问一句 能不能把这个处理后的直接输出到新的文本文件中呢?不想直接显示到屏幕上。  谢了哈
发表于 2013-7-24 15:49:03 | 显示全部楼层
回复 4# 123aaa


    echo,!str!>>b.txt
发表于 2013-7-24 16:33:50 | 显示全部楼层
先过滤空格,再判断。
  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
复制代码
发表于 2013-7-24 17:44:40 | 显示全部楼层
如果只需要匹配汉字,可以这样:
  1. findstr /v ['-Z] 1.txt | findstr .... ......
复制代码
 楼主| 发表于 2013-7-24 19:20:24 | 显示全部楼层
谢谢大家的帮助了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-19 22:54 , Processed in 0.019685 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表