Мне нужно заменить дробь в данной строке на десятичную.
Итак:
1/4 xx -> 0.25 xx
1/3 xx -> 0.33 xx
Над экзаменами, на которые я попал:
private fun String.replaceFractions() = "(?:[1-9]*)/[1-9]*".toRegex().find(this)
?.let {
val fraction = it.groups[0]!!.value
val fractionParts = fraction.split("/")
.map { part -> part.toDouble() }
this.replace(fraction, (fractionParts[0] / fractionParts[1]).toString())
}
?: this
Но я не могу найти способ правильно заменить строку, если она также имеет целую часть:
1 1/4 xx -> 1.25 xx
3 3/5 xx -> 3.6 xx