文本的高级替换问题

我有一大堆txt文档(千把个),想实现所有文档内的一些替换:例如:
a"ztj不好整"bh
替换为
a"不好整"bh
即删除引号内的英文部分,如果引号内只有英文,没有中文,就不替换。怎么弄?
请推荐vb,vc或者word的替换方法都可以,谢谢!本人会一点c的很基础的东西。
关键是替换的条件比较复杂!不是不会用文档的批量处理!

关键:引号内的内容是多种多样的。

**关键****((((((删除引号内的英文部分,如果引号内只有英文,没有中文,就不替换。))))))**关键*******

小弟在此拜谢各位对此问题 陷入沉思的 大哥大姐 大叔大娘了!

推荐用软件Replace Pioneer,只要把".*?"替换成replace($match,'[A-Za-z]','')即可,详细步骤:

1.打开Tools->Batch Runner菜单,把多个待处理文件从windows文件管理器拖拽到Batch Runner窗口中
2.最好选中change output folder选项,并在后面输入新目录,把文件生成到新目录中,以防源文件被覆盖。
3.点击Fast Replace按钮
* 点击Add
* 在search输入".*?"(包括双引号)
* 在replace输入replace($match,'[A-Za-z]','')表示把匹配的内容里的a-zA-Z替换成空
* 点击ok
4. 点击Start即可。

注意提前备份,以免操作失误
建议用最新版本
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-10-07
用正则比较合适,不过还要会用VIM,或者使用perl之类支持正则的工具。在VIM中测试的结果如下,针对引号中有中英文的情况:

:%s/\"\zs\([a-zA-Z]\+\)\ze\([^\1]\+\)\"//g

结果如下:a"不好整"bh。VIM也支持批量文本。
第2个回答  2010-10-07
textpad能够直接实现你的要求,不需要自己编程解决

在textpad的替换对话框中有个范围,能够对所有打开的文档进行替换
第3个回答  2010-10-07
查找的内容:"ztj不好整"
替换为:"不好整"

如果你还有其他如:"dbd不好整"的话
更多复杂编辑可使用支持正则表达式的文本编辑器