【问题标题】:Erlang - serialize a string (with no newlines/carriage returns)?Erlang - 序列化一个字符串(没有换行符/回车)?
【发布时间】:2017-08-21 23:43:10
【问题描述】:

我在其他编程语言中看到了一些答案,但不是特定的 erlang 语言。我能够读取文件并使用:

re:replace(Subject, RE, Replacement, Options)

具体来说:

re:replace(Content, "\r" , " ",[global,{return,list}]),

删除那些转义序列(我相信这就是他们所谓的)

它完美地用空格替换了所有的 \r。所以我的问题是:

1) 有没有办法在 RE 中放置多个替换,所以我也可以删除“\n”?
2)有不同/更好/更有效的方法吗?

【问题讨论】:

    标签: serialization erlang erl


    【解决方案1】:

    这是正则表达式的基础。

    在您的第一个问题中,您可以使用解决方案:

    re:replace(Content, "[\r\n]", " ", [global, {return, list}])
    

    Erlang字符串语法不够方便,如果你需要做很多非常复杂的字符串处理,你应该考虑使用另一种语言。

    【讨论】:

    • re:replace/4 使用 re:do_replace/5,后者使用 re:run/3。根据Code re:run/3 是本机代码,速度非常快。
    • 你从哪里得到 erlang 的字符串处理性能很差?你喜欢哪种语言更好。如果您喜欢 Perl,那么我可以告诉您错了。作为一个专业写过几十万行 Perl 的人,你可以用 Perl 写一些更优雅的文本处理,用 Erlang 写一些,但写得好的 Erlang 通常会更有效率。
    • @Hynek -Pichi- Vychodil 感谢您的评论,您是对的,答案已更改。
    猜你喜欢
    • 1970-01-01
    • 2012-01-31
    • 2017-12-11
    • 1970-01-01
    • 1970-01-01
    • 2014-05-17
    • 1970-01-01
    • 2013-07-05
    • 1970-01-01
    相关资源
    最近更新 更多