如何删除三个电话号码之间的空格和破折号,并转换为列表。

问题描述 投票:-6回答:1

我有一个字符串的电话号码。

String phNum = "01 12 1234 123 - 124 - 125"

我想改变这样的格式。

List<String> listPhone= ("01121234123","01121234124","01121234125")

我不知道用什么方法,用trim或者regex哪个是最好的,有什么办法吗?

android regex kotlin substring trim
1个回答
1
投票

你好@HZan希望你做的很好,我对java不是那么精通,但是你可以在java中使用kotlin的snippet等效来得到想要的结果,如果折叠函数不可用,你可以使用forEach或者其他的累加器模式来实现。

val phNum = "01 12 1234 123 - 124 - 125"
val phoneArray = phNum.toCharArray().filter{it.toString().isNotBlank()}
val prefix = phoneArray.subList(0,8).joinToString("")
val varientArray = phoneArray.subList(8,phoneArray.size).joinToString("").split("-")
val result = varientArray.fold(mutableListOf<String>()){ list , suffix -> 
    list.add("$prefix$suffix")
    return@fold list
}
println(result)
© www.soinside.com 2019 - 2024. All rights reserved.