Board logo

标题: [文本处理] 批处理删除所有的中文? [打印本页]

作者: wangx    时间: 2013-9-17 11:05     标题: 批处理删除所有的中文?

http://www.bathome.net/thread-26230-1-1.html
看了一下这个帖子,试了一下。
type arrays.xml|findstr /v /i "zh_tw 绻侀珨涓枃">new.xml
我把这里的xml文件换成了文本,试了,不能删除“繁體中文”,请高手
指点一下,还有“zh_tw 绻侀珨涓枃”是什么意思呢,如果我要删除
中文的话应怎么写呢,在网上找了一番,没有结果。
作者: DAIC    时间: 2013-9-17 12:39

那个帖子里面的arrays.xml是UTF-8编码的,BAT无法直接过滤里面的“繁體中文”这样的关键字。
不建议你使用findstr /v /i "zh_tw 绻侀珨涓枃"这样的方法,不通用,可读性差。
请参考21楼的代码。

如果你要处理的文件是ANSI编码,直接写就行了。
作者: wangx    时间: 2013-9-17 13:24

那个帖子里面的arrays.xml是UTF-8编码的,BAT无法直接过滤里面的“繁體中文”这样的关键字。
不建议你使用 ...
DAIC 发表于 2013-9-17 12:39

哦,那要删除文本中的中文,批处理怎么解决呢,dos下的中文GBK的吧
作者: DAIC    时间: 2013-9-17 15:09

回复 3# wangx


你用的是DOS系统还是Windows系统的CMD呢?
作者: wangx    时间: 2013-9-17 15:15

回复  wangx


你用的是DOS系统还是Windows系统的CMD呢?
DAIC 发表于 2013-9-17 15:09

是win下的命令提示符
作者: Batcher    时间: 2013-9-17 15:40

回复 5# wangx


d:\Test>type a.txt
繁體中文
简体中文

d:\Test>findstr /v "繁體中文" a.txt
简体中文
作者: wangx    时间: 2013-9-17 16:44

回复  wangx


d:\Test>type a.txt
繁體中文
简体中文

d:\Test>findstr /v "繁體中文" a.txt
简体 ...
Batcher 发表于 2013-9-17 15:40

恩  你好  这个我知道的  我想的是删除所有中文字符  正则表达式能来做么
作者: DAIC    时间: 2013-9-17 16:46

回复 7# wangx


    请把你的文件内容贴出来看看
作者: wangx    时间: 2013-9-17 17:31

回复  wangx


    请把你的文件内容贴出来看看
DAIC 发表于 2013-9-17 16:46

我就是想到这么个场景,没有具体的需求。
比如:1.txt
1,2,3,4,5,6,7,8,9
一、二、三、四
时间,日期,年月
a,b,c,d,e,f,g,h
就中文部分都去掉,当然我这边的文件写死了,我指的是所有中文,不定的。
我觉得是不是有正则表达式来做这个,比如:[0-9a-zA-Z]是非文字,[^0-9]非数字什么的
是不是这里也有正则的用法。
作者: DAIC    时间: 2013-9-17 17:37

回复 9# wangx


d:\Test>type a.txt
1,2,3,4,5,6,7,8,9
一、二、三、四
时间,日期,年月
a,b,c,d,e,f,g,h

d:\Test>sed.exe "/[\x80-\xFF]/d" a.txt
1,2,3,4,5,6,7,8,9
a,b,c,d,e,f,g,h

d:\Test>sed.exe --version
GNU sed version 4.0.7
作者: wangx    时间: 2013-9-17 18:11

回复  wangx


d:\Test>type a.txt
1,2,3,4,5,6,7,8,9
一、二、三、四
时间,日期,年月
a,b,c,d,e,f ...
DAIC 发表于 2013-9-17 17:37

谢谢你的热心,sed还真没在win环境下用过,不过sed功能确定很强。
作者: DAIC    时间: 2013-9-17 22:01

回复 11# wangx


可以从这里下载一个
http://code.google.com/p/gnu-on-windows/downloads/list




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