这是我想要完成的事情:
解析以下字符串:
"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/