如何替换一个字符串中的大量关键字

如题。一个字符串str,长度大概在0-300之间,汉字英文都可能出现,然后数据库中有关键字的表,大概在500条左右的数据,汉英都有,如何实现这些关键字在这个字符串str中的替换呢?希望能提供一种好的算法,或者成熟的拆字法,(循环replace就别说了)
问题补充:
---
主要是循环比对这一块,比较方法上来说选择正则没错,但是如果采用常规的循环那么效率太低了,主要这方面没有解决

为什么要循环呀,你先把这500个关键字取出了,在用正则表达式 or 一个,不就可以一次性替换了吗,同学

用正则表达式,试试

用正则表达式来进行关键字替换算是现成又还不错的算法了

干嘛要循环呢,用正则表达式匹配一个替换一个嘛,那就只有正则匹配的效率性能了