标题: [文本处理] 批处理如何将文本中的中文字符/汉字按出现顺序依次替换成指定字母加数字序号的字串? [打印本页]
作者: heyoug 时间: 2016-5-28 10:12 标题: 批处理如何将文本中的中文字符/汉字按出现顺序依次替换成指定字母加数字序号的字串?
需要处理的文本文件A.txt,文本内容包含各种字母、数字、符号、汉字。
要求把文本中A.txt中的所有汉字替换掉,替换格式为A后面加顺序号,相同汉字用相同字串代替
把文本A.txt中的>>等符号在替换成^>>
然后把替换结果保存到B.TXT中,
替换规则保存到C.TXT中,如:A2=中
求高手帮忙!
作者: gawk 时间: 2016-5-28 11:09
请把测试用的A.txt、B.txt、C.txt打包压缩传上来
作者: heyoug 时间: 2016-5-28 11:16
B.TXT 和C.TXT 文本为空白 是输出用的文件。
作者: gawk 时间: 2016-5-28 12:00
本帖最后由 pcl_test 于 2016-5-29 13:06 编辑
回复 1# heyoug
让你上传B.txt、C.txt的目的是想知道它长什么样子,然后才好写代码。
你顶楼的描述不太好理解。
另外,最好打包压缩上传,不要直接放文本。否则格式可能会乱。
作者: heyoug 时间: 2016-5-28 12:07
本帖最后由 pcl_test 于 2016-5-29 13:06 编辑
回复 4# gawk
已经上传,谢谢
作者: pcl_test 时间: 2016-5-29 12:44
举个栗子- //&cls&more +14 "%~f0"|cscript -nologo -e:jscript "%~f0"&pause&exit
-
- var i = 0, hz = {};
- var txt = WSH.StdIn.ReadAll().replace(/[\u4E00-\u9FA5]/g, function(a){
- if(!hz[a]){
- i++;
- hz[a]='WTF'+i;
- }
- return hz[a];
- });
- WSH.echo(txt.replace(/\*\/\s*$/, '').replace(/>>/g, '^$&')); //结果
- for(var a in hz)WSH.echo(hz[a]+'='+a); //替换规则
-
- /*
- a) WinRAR 在创建 RAR 压缩文件时不存储 NTFS 的 "压缩" 属性;
- b) WinRAR 的命令行模式在有 @filelist 参数存在而 'filelist' 不存在时崩溃。此
- 问题只影响 WinRAR.exe,不影响 RAR.exe;
- c) 如果在压缩时指定了 -x*\somefolder\* 排除掩码,并且当前文件夹名中包含
- 'somefolder',WinRAR会排除所有文件并停止创建压缩文件;
- d) GUI 自解压压缩文件不能在 Windows 预安装环境(Windows PE)中使用。
- >> =
- */
复制代码
作者: heyoug 时间: 2016-5-30 08:41
老大,这个怎么用呀,看不明白?
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |