Board logo

标题: [文本处理] 批处理把文本中的所有汉字前加上数字和字母 [打印本页]

作者: lzwudi    时间: 2009-2-13 19:21     标题: 批处理把文本中的所有汉字前加上数字和字母

有一个文本文件.里面有我们中国的几千个汉字.见附件!
想达到一个目的.就是把里面每个汉字前面和后面加上字母和数字.
原内容如下:
  1. 阿啊锕嗄厑哎哀唉......咗
复制代码
加上字母和数字后如下生成1.txt:
  1. set 阿=00001
  2. set 啊=00002
  3. set 锕=00003
  4. set 嗄=00004
  5. set 厑=00005
  6. set 哎=00006
  7. set 哀=00007
  8. set 唉=00008
  9. .....
  10. set 咗=N
复制代码
加上字母和数字后如下生成2.txt:
  1. set 00001=阿
  2. set 00002=啊
  3. set 00003=锕
  4. set 00004=嗄
  5. set 00005=厑
  6. set 00006=哎
  7. set 00007=哀
  8. set 00008=唉
  9. .....
  10. set N=咗
复制代码
注意:以上每个数字必须是5位的.而且是从00001开始的.假如有22000个汉字.最后就应该是22000
请教这个批处理应该怎么做能不卡.而且速度快?
作者: youxi01    时间: 2009-2-13 20:26

需要处理这么多的汉字吗?
常用汉字似乎才二三千个
作者: tireless    时间: 2009-2-13 20:32

  1. @echo off>1.txt
  2. set n=100000>2.txt
  3. setlocal enabledelayedexpansion
  4. for /f %%a in (汉字大全.txt) do (
  5.   set str=%%a
  6.   for /l %%i in (0 1 80) do (
  7.     if "!str:~%%i,1!" neq "" (
  8.       set /a n+=1
  9.       >>1.txt echo set !str:~%%i,1!=!n:~-5!
  10.       >>2.txt echo set !n:~-5!=!str:~%%i,1!
  11.     )
  12.   )
  13. )
复制代码





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