
批處理去除文本中所有的漢字 因昨天群里有位朋友問到這個問題,在幫他解決后感覺大家平常應該會經常遇到這樣的問題,所以將我的兩段代碼給出,大家也可以跟帖給出自己的方法:1、批處理方法,個人認為還是逐字符保險一些,只是遇到大文本效率會有問題(另外大家想一想為什么代碼中的變量延遲要如此處理):
- @echo off
- cd.>b.txt
- for /f delims= %%a in (a.txt) do (
- set str=%%a
- setlocal enabledelayedexpansion
- call :lp
- endlocal
- )
- echo ok
- pause>nul&goto :eof
- :lp
- if /i !str:~,1! leq z set var=!var!!str:~,1!
- set str=!str:~1!
- if defined str goto lp
- >>b.txt echo.!var!&set var=
nclick="copycode($('code0'));">復制代碼
2、vbs方法,順便說一下查了一下unicode編碼表居然u4e00就是“一”
- Dim FSO, vbStr
- Set FSO = CreateObject(scripting.FileSystemObject)
- vbStr = FSO.OpenTextFile(a.txt).ReadAll()
- FSO.OpenTextFile(b.txt, 2, True).Write RegEx(vbStr)
- MsgBox ok
- Set FSO = Nothing
- Function RegEx(Str)
- Set RegEx = New RegExp
- RegEx.IgnoreCase = True
- RegEx.Global = True
- RegEx.Pattern = [u4e00-u9fa5]*([^u4e00-u9fa5]*)[u4e00-u9fa5]*
- RegEx = RegEx.Replace(str, $1)
- End Function
nclick="copycode($('code1'));">復制代碼