中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-09-14 17:51
47,812 主题排行 / 349,917 发帖 / 今日 0 篇 / 48,268 会员排行
DOS批处理 & 脚本技术(批处理室) » 过滤掉文本中未知的数字和字母
可打印版本  4,509 / 17
第1楼 xixi27 发表于 2007-04-28 06:13
新手上路 发帖 6 积分 14
过滤掉文本中未知的数字和字母
请问如何过滤掉一个文本文件中所有的未知的数字和字母,并另存在一个新文本。这些数字和字母是穿插在文档中的。
如:细细哈哈12咚咚ajs
思索
今天0D12
第2楼 lxmxn 发表于 2007-04-28 06:47
版主 发帖 4,938 积分 11,386
是要过滤掉字母和数字呢?还是过滤掉中文字符?请把问题描述再具体一点,方便大家阅读。
第3楼 xixi27 发表于 2007-04-28 06:52
新手上路 发帖 6 积分 14
可能没描述清楚,是把文档中所有的数字及字母过滤掉,只留下汉字
第4楼 vkill 发表于 2007-04-28 07:07
金牌会员 发帖 1,744 积分 4,103 来自 甘肃.临泽
sed
第5楼 lxmxn 发表于 2007-04-28 07:11
版主 发帖 4,938 积分 11,386
vkill 把命令写出来吧,用批处理有点小麻烦。
第6楼 vkill 发表于 2007-04-28 07:47
金牌会员 发帖 1,744 积分 4,103 来自 甘肃.临泽
sed "s/[0-9a-zA-Z]/ /g" life
第7楼 youxi01 发表于 2007-04-28 08:06
高级用户 发帖 247 积分 846 来自 湖南==》广东
简单的还是可以处理的(不考虑特殊字符,对很多的空格处理不太合理)

利用批处理来处理,简单的演示代码:

说明:test.txt中的内容,为要处理的文本内容
处理对象,小文本,且不含特殊字符(因为特殊字符在此未考虑)
第8楼 zhoushijay 发表于 2007-04-28 08:20
高级用户 发帖 375 积分 845
第9楼 xixi27 发表于 2007-04-28 22:50
新手上路 发帖 6 积分 14
多谢各位的帮忙,麻烦的是我要处理的文本里面有很多空格,而且如果数字或者字母单独在一行内时,过滤后会有问题。

另外,会出现 “ECHO处于关闭状态 “ 的提示,这是什么意思啊?
请各位帮忙!谢谢!
第10楼 huzixuan 发表于 2007-04-29 00:53
高级用户 发帖 219 积分 537 来自 芜湖


[ Last edited by huzixuan on 2007-4-29 at 06:14 AM ]
第11楼 xixi27 发表于 2007-04-29 02:24
新手上路 发帖 6 积分 14
楼上的回答可以解决数字或者字母单独成行的问题,但是如果数字或者字母之间有空格的话还是存在问题啊!

另外,能否解答一下出现 “ECHO处于关闭状态” 的问题呢? 非常感谢!
第12楼 lxmxn 发表于 2007-04-29 03:46
版主 发帖 4,938 积分 11,386
出现“ECHO处于关闭状态”的原因是echo命令后面的值为空。
第13楼 huzixuan 发表于 2007-04-29 06:15
高级用户 发帖 219 积分 537 来自 芜湖
先将 变量中 所有空格替换掉,然后依次替换掉 数字 以及 字母
最后读出变量
已经修改 10 楼代码
第14楼 huzixuan 发表于 2007-04-29 06:37
高级用户 发帖 219 积分 537 来自 芜湖
不知道哪个效率高一些
第15楼 xixi27 发表于 2007-04-29 07:13
新手上路 发帖 6 积分 14
多谢huzixuan,我刚刚已经在你原来代码的基础上解决了问题,跟你的想法一样!
同时也谢谢其他各位的帮忙,这几天刚刚接触批处理,不过在这里真的学到了很多的东西,谢谢大家了!

还有一个问题,“echo."代表啥啊?
1 2  下一页
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023