用于从文本中删除特殊字符的应用程序或批处理文件脚本

时间:2011-03-31 08:25:54

标签: windows batch-file

我喜欢这个在线工具http://textmechanic.co/,但它缺少另一个重要功能,即删除特殊字符,如%,%,[,),*,?,'等...除了_, - ,和。来自大量的文字。

我正在寻找可以执行此操作的在线工具或小型Windows实用程序或批处理脚本。

2 个答案:

答案 0 :(得分:2)

我认为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产生一个数组,而不是一个枚举器(即这个管道在读取时不能对文件进行操作)。但是,由于非常大的文件导致类似的问题。

答案 1 :(得分:1)

您可以使用支持它的任何工具/语言来执行正则表达式。这是Ruby for Windows命令

C:\work>ruby -ne 'print $_.gsub(/[%)?\[\]*]/,"")' file