将 scala 中的字符串解析为自定义案例对象

标签 parsing scala

这是我想要完成的事情:

解析以下字符串:

"this is plain text, <bold>this is bold</bold>, and <italics>this is italics</italics> etc."

结果应该是这样的:

Array(PlainText("这是纯文本,"), 粗体(这是粗体), 纯文本(“和”), 斜体(这是斜体), 纯文本(“等”))

纯文本、粗体和斜体可以是案例类。

有什么想法从哪里开始吗?我尝试过使用正则表达式 findAllIn(..), split 但是 还没搞清楚这个。

最佳答案

如果您可以在 BNF 中明确定义用于分解字符串的规则 - 那么 Scala's parser combinators很可能是您前进的方向。

关于将 scala 中的字符串解析为自定义案例对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5902787/

相关文章:

c# - 使用 JSON.NET 将动态 JSON 字符串解析为 C# 中的字符串

java - 如何为 &lt;![CDATA[]]> 解析 XML

mysql - Scala、Slick 和 1970 年之前的日期

scala - *(星号)和_(下划线)在类型参数中的区别

scala - 为什么不围绕整数溢出进行 Scala 设计?

scala - 我可以使用绑定(bind)在 Scala 抽象方法上的类型,然后使用 "tighten up"子类中的定义吗?

java - android片段中的Volley请求队列,不在 TextView 中设置json数组数据

javascript - 使用正则表达式,我如何多次匹配 XML 标记?

java - 输入字符串 999999999 的 NumberFormatException

scala - 调用采用隐式方法返回的函数