英汉混合中批量删除中文(已解决)
如题,别看好象很眼熟,不过要达到目的有点难度。(现在问题已经解决)
下面是问题的经历:
于是我到百度贴吧去问这个问题!结果如我所料,还是没有人能达到目的,我在帖吧中的问题可能写太多字,这问题简单得再重复一次:
电池pila
电池elemento
电池电流galvanismo
电唱机electrófono
电唱机tocadiscos
电报学telegrafía
电唱机electrófono
电报拍发员telegrafista
电报学telegrafía
电报技术telegrafía
电报拍发员telegrafista
电报机telégrafo
电报技术telegrafía
电报telegrama
如上,我有这样的一个字典,如何批量删除掉中文。
因为这个字典是一种数据格式,所以我在帖吧里提出在excel软件里如何操作,格式是txt,所以办法比较多,我自己有想过,去掉英文留中文的方法比较多(刚开始在excel里面就太复杂了,后来才想到放其他文本编辑软件就容易多了),这字典可以用 Word 、文本编辑、Uedit32、Excel 等软件打开,但还是没找到批量删除中文的办法。
有想过用超级文本批量替换的软件来达到目的,先去掉英文,然后复制中文,然后替换所有中文,但是批量替换软件虽然有多行替换功能,但因为格式是一行一个,加了个换行,所以达不到目的了。
有朋友想到的,还望能在此留下方法,谢谢了,本人继续想办法。
szjcyxt朋友提出解决方案:
如果都是英文在前,中文在后,比较好办。在后面单元格输入:
=LEFT(A1,(LEN(A1)*2-LENB(A1))),下拉,只有英文
=RIGHT(A1,(LENB(A1)-LEN(A1))),下拉,只有中文
szjcyxt朋友 回答的,我试了下,果然可以,可惜很多前面的字母都丢了,但奇怪的是á 这种字符能取出来。
方括号朋友提出解决方案:
你的数据一定是英文在前汉字在后吗?还是也有汉字在前英文在后的?还是有英文和汉字交叉混杂的?前两种都好办,混杂的不太好办。
如果是第1种情况,即英文在前汉字在后。
取英文的公式是:=LEFT(A1,2*LEN(A1)-LENB(A1))
取汉字的公式是:=RIGHT(A1,LENB(A1)-LEN(A1))
如果是第2种,即有英文在前汉字在后,又有汉字在前英文在后的。
取英文的公式是:=IF(LENB(LEFT(A1))=LEN(LEFT(A1)),LEFT(A1,2*LEN(A1)-LENB(A1)),RIGHT(A1,2*LEN(A1)-LENB(A1)))
取汉字的公式是:=IF(LENB(LEFT(A1))=LEN(LEFT(A1)),RIGHT(A1,LENB(A1)-LEN(A1)),LEFT(A1,LENB(A1)-LEN(A1)))
向下复制公式。得到数据后,可以复制这些数据,然后选择性粘贴-数值就可得到纯结果。
方括号朋友 回答的,á 字符取不出来,还有一些英文部分的e取不出来。
总结一下上面两位哥们的解决方法,好象并不能达到目的,其中很多数据根本就好像是在截取字数,在去掉中文的同时失去太多前面字符,严格来说,一点都不准确。
最后我又到百度去发这个问题,果然得到答案了。
解决方法是:
你的需求不仅仅是保留英文,还包括法文字母。(这里说错地方,其实是西文,呵呵)
推荐用Replace Pioneer,很简单(并支持批量处理文件):
1. ctrl-o 打开文件
2. ctrl-h 替换,设置如下:
* 在'Search for Pattern'下面填:
[^a-zA-Zà-ÿ\n]
注:表示除a-zA-Zà-ÿ\n之外的字符,行尾无空格。
* 在Replace with Pattern'下面不填,表示替换成空
3. 点击replace,然后存盘,ok.
解决截图:
上一篇:网站主题再次更新
下一篇:[转载]西班牙语学习材料
正则表达式行不行?我不大懂,只是提个建议。
回复:这个方法我在百度问答里面已经有人这样回答了,不过还是没办法。后来我又问一次,终于解决了,还是国外软件牛啊,还是说国内很少碰到这个问题。
可以每个字符去读取,然后判断高位低为,说中文就删除
回复:这个方法按你说的可以办到,这是大家都会这么说。
正则表达式
回复:这个方法可能达不到。
貌似还可以。删除的很快
回复:计算机速度当然快,哈哈。