如何提高“删除所有'换行符'除了最后一个字符串之外的代码效率”?

时间:2015-04-22 22:18:07

标签: erlang

我希望通过清除每条日志消息中的所有新行字符来过滤日志数据。以下是我的代码,但它看起来效率低,如何改进呢?

character_drop_test_b()->
    List = "AB\nC\nD\n",
    Result = re:replace(List, "[\n]", "", [global, {return, list}]) ++ "\n",
    Result.

1 个答案:

答案 0 :(得分:1)

由于您要替换固定字符串而不是模式,因此不需要使用正则表达式。试试这个:

string:join(string:tokens(List, "\n"), "") ++ "\n"

根据我的测量结果,它比你的小List上的方法快3倍,比你的List数据1000份副本的方法快6倍。

相关问题