考虑像这样的字符串
"1: 2, 3, 4"
^^ ^^^^^^^
id items
我可以使用
来解析它val sc = Scanner("1: 2, 3, 4")
val id = sc.useDelimiter(": ").nextInt()
val items = sc.skip(": ").useDelimiter(", ").asSequence().toList()
^^^^
但我不想重复第一个分隔符。有没有不重复的解决办法?
使用正则表达式,即
|
:
import java.util.Scanner
fun main() {
val input = "1: 2, 3, 4"
val sc = Scanner(input).useDelimiter(": |, ")
val id = sc.nextInt()
val items = sc.asSequence().toList().map { it.toInt() }
println("ID: $id")
println("Items: $items")
}
输出:
ID: 1
Items: [2, 3, 4]