请问如何过滤掉一个文本文件中所有的未知的数字和字母,并另存在一个新文本。这些数字和字母是穿插在文档中的。
如:细细哈哈12咚咚ajs
思索
今天0D12
如:细细哈哈12咚咚ajs
思索
今天0D12
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!
@echo off
setlocal enabledelayedexpansion
for /f "delims=" %%i in (test.txt) do (
call :Check "%%i" OK
echo !OK!
)
pause>nul
:Check 处理对象 传回结果
set "str=%~1"
set str_=
for /l %%i in (0 1 1000) do (
set tm_str=!str:~%%i,1!
if "!tm_str!"=="" set %2=!str_! & goto :eof
if "!tm_str!"==" " set str_=!str_!!tm_str!
if !tm_str! GTR Z set str_=!str_!!tm_str!
)
| 评分人 | 分数 | 时间 |
|---|---|---|
| mqw624 | +1 | 2010-12-06 19:37 |
set fso=createobject("scripting.filesystemobject")
set txt=fso.opentextfile("11.txt")
gettxt=txt.readall
numtxt=len(gettxt)
for i=1 to numtxt
unite=mid(gettxt,i,1)
on error resume next
int(unite)
if err.number=0 then
gettxt=replace(gettxt,unite," ")
end if
if asc(unite)>=65 and asc(unite)<=122 then
if asc(unite)<91 or asc(unite)>96 then
gettxt=replace(gettxt,unite," ")
end if
end if
next
msgbox gettxt,,"过滤"
set newtxt=fso.createtextfile("22.txt")
newtxt.write gettxt
'vbs版的!
'11.txt为需要过滤的文件,请自己修改,22.txt为保存后的文本,可以不改。
@echo off
setlocal enabledelayedexpansion
for /f "delims=" %%i in (test.txt) do (
set str=%%i
set "str=!str: =!"
for /l %%j in (0,1,9) do (
if not "!str!"=="" set str=!str:%%j=!
)
for %%k in (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z) do (
if not "!str!"=="" set str=!str:%%k=!
)
if not "!str!"=="" (
>>New.txt echo !str!
) else (
echo.
)
)
notepad New.txt
set fso = CreateObject("Scripting.FileSystemObject")
set rfile = fso.OpenTextFile("test.txt",1)
set wfile = fso.CreateTextFile("Wfile.txt")
str = rfile.readall
for k = 0 to 9
str = replace(str,k," ") ' 将 0 - 9 数字置空
next
for i = 65 to 90
str = replace(str,chr(i)," ") ' 将 a-z 小写字母置空
next
FOR J = 97 TO 122
STR = REPLACE(STR,CHR(J)," ") ' 将 A-Z 大写字母置空
NEXT
wfile.write str
wfile.close