kotlin - 从 Kotlin 中的字符串中提取多个整数
问题描述
我有一个以下格式的字符串(来自 Jsoup 的输出)
[<ul>
<li><span></span><a, rel="nofollow"><span>Afterword</span></a></li>
<li><span></span><a, rel="nofollow"><span>MW, Chapter, 2255</span></a></li>
<li><span></span><a, rel="nofollow"><span>MW, Chapter, 2254</span></a></li>
<li><span></span><a, rel="nofollow"><span>MW, Chapter, 2253</span></a></li>
<li><span></span><a, rel="nofollow"><span>MW, Chapter, 2252</span></a></li>
</ul>]
我想从这个字符串中提取整数,例如 2255、2254 等。
我使用了在这里找到的各种选项,但没有一个有效。到目前为止的解决方案只给了我所有组合在一起的数字。
我愿意为此使用 Jsoup 或拆分。
请帮忙。
解决方案
使用正则表达式非常简单https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.text/-regex/
val string = "[<ul>\n" +
"<li><span></span><a, rel=\"nofollow\"><span>Afterword</span></a></li>\n" +
"<li><span></span><a, rel=\"nofollow\"><span>MW, Chapter, 2255</span></a></li>\n" +
"<li><span></span><a, rel=\"nofollow\"><span>MW, Chapter, 2254</span></a></li> \n" +
"<li><span></span><a, rel=\"nofollow\"><span>MW, Chapter, 2253</span></a></li> \n" +
"<li><span></span><a, rel=\"nofollow\"><span>MW, Chapter, 2252</span></a></li> \n" +
"</ul>]"
val regex = Regex("\\d+")
val resultList = regex.findAll(string).map { it.value }.toList()
println(resultList) //prints [2255, 2254, 2253, 2252]
推荐阅读
- php - 如何解决 OpenCart 问题?
- bash - 整个句子的 Bash 脚本用作文件名
- javascript - 我想验证来自 javascript 对象的电子邮件地址
- php - php文件上传返回false
- java - 为什么在 for 循环后不打印计数?
- javascript - 这两个函数调用到底有什么区别?
- mysql - 有没有办法将数据从 Excel 工作表中的一列加载到现有的 mysql 表中?
- javascript - 通过另一个函数添加新属性而不修改现有对象结构
- xamarin - 如何将标签的 FontFamily 绑定到 C# 中的动态资源
- reactjs - 使用 shell adb 命令创建 adb 客户端失败