android - kotlin中如何按数字排列字符串?

标签 android kotlin

我有像这样的带有文本和数字的字符串

var text = "1 Hello World 2 你好吗 3 我在这里很好"

我怎样才能让它按每个数字开始新行?像这样

1 Hello world
2 how are you
3 I'm fine 

这就是文本 var my_text = "1 فِй فََِْْ َََقَ ُ ُ ََََِ َََََََْ。 2 ๑๑๑๑รรรรรรรรรรรรรรรรรรรรรรดยรรอรรรรอรรรรรรรอรรรรรรรรรรรรรรรรรรรรรรรรร请注意以下内容。 3、其他:《我的世界》,《我的世界》。 4 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、请注意以下事项。 5 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 。不,不,不,不,不,不,不,不,不。 6、《我的世界》:《我的世界》《我的世界》。 ?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????? 7 爱你的人 爱你的人 爱你的人亲爱的,亲爱的,亲爱的。好啦好啦。 8、请注意以下事项。不,不,不,不,不,不,不,不,不,不。 9、《我的世界》:《我的世界》请注意以下事项。好啦好啦。 10 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、不,不,不,不,不,不,不,不。 “

仅供引用:文本位于 sqlite 数据库中并且 我想在 android TextView 中显示它

最佳答案

您可以通过正则表达式分割该字符串。

一种选择是使用 \\s(?=\\d+),它将匹配空白字符后跟任意数量的数字。例如:

val str = "1 Hello world 2 how are you 3 im fine here"

val r = str.split("\\s(?=\\d+)".toRegex())

r.forEach(::println)

然后使用joinToString创建一个带有换行符的字符串:

println(r.joinToString("\n"))

关于android - kotlin中如何按数字排列字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48761525/

相关文章:

Android 4 - LinearLayout 顶部和底部填充不起作用

java - Android:加载 fragment 时启动动画

Android 架构组件 ViewModel - 与 Service/IntentService 的通信

java - Android 布局快速问题

android - NoClassDefFoundError : Failed resolution of: Lkotlinx/coroutines/Dispatchers

kotlin - 为文件顶层实现 IntelliJ Completion Contributor

kotlin - 变量重新分配没有空安全性?

android - 导航组件参数默认值

java - 安卓无法获取Json

android - 录制使预览和比率变暗