如何为字符串的数字和字符设置不同的颜色和大小

How to set different color & size for numbers and characters of a string

我从 Web 服务收到一个动态字符串,它包含数字和字符。

例子

Distance is 5000 mph

Arrival in 2 hours & 40 minutes


我想要不同的颜色 - 字体类型 - 大小字符。 我知道如何将 Spannable 用于字符串,但我必须知道每个字符串的开始和结束索引,因为字符串是动态的。!

有办法实现吗?

在这里您可以使用下面的代码从数组中的字符串中找出所有数字,并通过使用它来自定义它-

private fun getNumbers(string:String){
        val p = Pattern.compile("-?\d+(,\d+)*?\.?\d+?")
        val numbers: MutableList<String> = ArrayList()
        val m: Matcher =
            p.matcher(string)
        while (m.find()) {
            numbers.add(m.group())

        }
        println(numbers)
    }

如果字符串是 2 小时 40 分钟后到达 那么这个函数将 return 你 - [2,40] 作为最终结果。