Если вы уверены, что число всегда в начале, используйте split()
с пробелом в качестве разделителя и из возвращенного списка возьмите 1-й элемент и проанализируйте его как Double
:
val value = st!!.split(" ")[0].toDoubleOrNull()
Если есть пробелы в начале или между ними, используйте это:
val value = st!!.trim().split("\\s+".toRegex())[0].toDoubleOrNull()
И еще один способ с substringBefore()
:
val value = st!!.trim().substringBefore(" ").toDoubleOrNull()
Или, если в строке только 1 целое число, удалите все нечисловые символы с помощью replace()
:
val value = st!!.replace("\\D".toRegex(), "").toDoubleOrNull()