我愛這個在線工具http://textmechanic.co/但它缺少的另一個重要功能,是刪除特殊字符,例如刪除特殊字符%,%,[,),*,?,」,除了_, - 和。來自大量的文字。一個應用程序或批處理文件腳本從文本
我找一個在線工具或一個小的Windows實用程序或批處理腳本可以做這件事。
我愛這個在線工具http://textmechanic.co/但它缺少的另一個重要功能,是刪除特殊字符,例如刪除特殊字符%,%,[,),*,?,」,除了_, - 和。來自大量的文字。一個應用程序或批處理文件腳本從文本
我找一個在線工具或一個小的Windows實用程序或批處理腳本可以做這件事。
我覺得sed
是這裏最容易的選擇。您可以下載它的Windows here此外,幾乎每個文本編輯器都應該允許這樣做(但大多數不能很好地處理多GiB範圍內的文件)。
隨着sed
你可能想是這樣的:
sed "s/[^a-zA-Z0-9_.-]//g" file.txt
同樣的,如果你有一個半新的Windows(即Windows 7中),然後PowerShell附帶預裝它。以下單線程將爲您做到這一點:
Get-Content file.txt | foreach { $_ -replace '[^\w\d_.-]' } | Out-File -Encoding UTF8 file.new.txt
這也可以很容易地適應多個文件。這可能是因爲我認爲Get-Content
會產生一個數組而不是枚舉器(也就是說,當您讀取該文件時,該管道無法在文件上運行),因此您也可以再次輸出到原始文件中。儘管如此,由於具有非常大的文件的類似問題。
你可以做正則表達式與任何工具/語言支持它。這裏有一個Ruby for Windows命令
C:\work>ruby -ne 'print $_.gsub(/[%)?\[\]*]/,"")' file
我很抱歉,但我是一個完整的小白,當談到這一點。我如何使用你用sed編寫的這一行代碼? – techdaemon 2011-03-31 08:46:23
@techdaemon:你沒有。就像我寫的那樣,這就是PowerShell。不過,我添加了一個'sed'示例,它沿着相同的方向工作(但我認爲這隻適用於ASCII文本)。通常情況下,我只是沒有'sed',所以我不能馬上提供一個例子。 – Joey 2011-03-31 08:52:00
我對你的技術說話不是很瞭解。你可以把它放在外行的任期嗎?我的意思是一般的電腦用戶。我只需要擺脫文本文件中的許多特殊字符。只是刪除,不能取代,但不包括週期,下劃線和短劃線。如果你能幫助我,請提前致謝。 – techdaemon 2011-03-31 08:56:47