[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文本处理] [已解决]批处理怎样间断提取文本中的汉字?

文本内容:
中华12345人民afdvf共avfdvavfddv和vdfaszvfd国万岁
世asdvc43界h5e6gh人eh5r3民h66r5大团结mr56md万岁
……………………………………………………………………
……………………………………………………………………


类似这样的行有很多,规律就是汉字之间夹杂数字与字母,夹杂的数字与字母位数都随机。
怎么提取这些汉字,得到“中华人民共和国万岁”。

说明:
我会用逐位判断的方式提取,但是这个方法太麻烦,如何使用更简单的方法获取呢?

期待朋友们的帮助!
1

评分人数

    • Batcher: 感谢给帖子标题标注[已解决]字样PB + 2

首先感谢楼上两位bat人的热心帮助。
sed命令确实是个办法,但是xp下面都没有,所以应用性不好。
batman 给的连接中使用了逐位判断外的另一种方式,就是将不满意的替换掉,确实是个好办法,再次感谢。
我考虑到用for/F解析怎么样,代码示例:
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /f "delims=" %%i in (abc.txt) do (
  4. set n=%%i
  5. for /f "tokens=1-20,* delims=0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz" %%a in ("!n!") do (
  6. echo %%a%%b%%c%%d%%e%%f%%g%%h%%i!e!>>new_abc.txt)
  7. )
  8. pause
复制代码
但是这个方法对付分割数目少的可以,对付多的就实现不了了,请问怎么判断for里面到底需要多少个参数?

TOP


膜拜!
我怎么就没想到呢,还是高手厉害。感谢你!
学习了。

TOP

返回列表