string - 如何在 Scala 中将棋子与字符串分开?
问题描述
我有字符串格式的棋子信息,例如:"Ka5Qb3a8b7"
,其中"Ka5"
代表 a5 中的国王,"Qb3"
b3 中的皇后和"a8"
a8 中的士兵。所以如果''那么士兵。
我怎样才能将每一块分开,以便稍后将它们放入各自的对象中?我想我可以遍历每个索引并将它们与不同的情况相匹配,然后跳过 1 或 2 个字符,具体取决于是否是士兵。但是,如果存在这种方法,我更喜欢更短、更易读的代码。
我首先考虑将大小分组为 3,但显然对于只取 2 个字母的士兵来说是不可能的。我正在使用斯卡拉。
解决方案
正则表达式模式可以做到这一点。
"[A-Z]?[a-z]\\d".r.findAllIn("Ka5Qb3a8b7").toList
//res0: List[String] = List(Ka5, Qb3, a8, b7)
推荐阅读
- ios - UIImageWriteToSavedPhotosAlbum 冻结了我的视图
- android - 如何在 Unity android 版本上修复“activityStartTrigger: not whiteListed”?
- php - 如何将日期字段更改为 pt-BR
- c# - 我无法理解逻辑表达式发生了什么,因为它返回一个整数
- kotlin - Kotlin ktor 暴露 DSL 插入参考
- swift - 当我们在 Xcode 中执行程序时,有没有办法查看函数调用的顺序?
- visual-studio-code - 在 VS Code 中调试时如何使用 zsh shell
- php - 连接表的 PHP 到 SQL 复选框?
- node.js - Strapi:如何将新用户注册为默认禁用,然后由管理员启用
- excel - Excel VBA ComboBox DropButtonClick() 事件触发两次