【问题标题】:Java: Could you give me a hand with an algorithm about processing a String?Java:你能给我一个关于处理字符串的算法吗?
【发布时间】:2018-04-26 15:05:07
【问题描述】:

我目前在一个非常旧的系统(2000 年初)中工作,将来会被迁移,但现在无法修改。

此系统使用套接字连接进行通信,并以以下格式发送消息:“CALLNAME|FieldName~Value|FieldName~Value|...”。例如,它可能是“CallToPaymentModule|Name~Charles|Cost~3|...”

我会截取这条消息并将其映射到一个对象中,其中变量是“FieldName”,它们的值是“Value”。

目前我能够执行的唯一解决方案是使用正则表达式转换为 JSON,然后映射到对象,但可能有更快的解决方案。

有人有什么想法吗?

提前谢谢你。

最好的问候。

【问题讨论】:

  • 如果您有特殊的性能要求,请说明。如果您只想对您的代码进行评论以及如何使其主观上“更好”,请改为在 codereview.stackexchange.com 上发布您的代码。
  • 性能真的很重要,这就是为什么我想看看是否有任何不同的方法。谢谢!

标签: java json string algorithm


【解决方案1】:

正则表达式的(通常更有效和更精确的)替代方法是解析。这是计算机科学中的标准主题。幸运的是,看起来您的数据具有非常简单的格式,应该很容易为其编写解析器。您可以手动编写一个解析器,它基本上会手动循环字符串中的字符并决定要做什么,或者类似的东西,或者您可以使用像 Antlr 这样的解析器生成器,它将为您生成一个解析器类语法规范。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-20
    相关资源
    最近更新 更多