请问如何对大量的字符串进行快速替换

有一个txt文件,5m左右,需要对里面的所有标点都进行替换成一个空格,用replace和正则表达式速度太慢了,有没有一种方法使字符进行快速替换。
文本下载地址http://d.namipan.com/d/t.txt/254ea08f14240cf7c862774f31e89b52f91b2b05c6a34f00

一次性全部加载到内存,再进行替换.这样太慢的话.
用多线程去做啊,
1.将文章分割成多个文章,多线程读取不同的文件去修改.然后合成一个文件.
2.如果有10000行,每一个线程处理2000,分5个线程同时去做.

如果是多核处理器的话,多线程的优势会很明显.单核可能不是很显著.

用文件切割技术,实现Map/reduce,
看有没开源的类库有这个功能的,有就比较容易了

其实不用分隔文件,只需要把文件copy几份,不同的线程读不同的部分再合一起就行了,至于copy几份也要直接在程序中配置,copy的文件按xx1.txt,xx2.txt这样,文件copy应该不需多少时间的