Как заменить дублирующиеся пробелы в String в Kotlin?
Скажем, у меня строка: "Test me".
как его преобразовать в: "Test me"?
Я пробовал использовать:
string?.replace("\\s+", " ")
но оказывается, что \\s является незаконным побегом в Котлине.
Ответ 1
функция replace в Kotlin имеет перегрузки для шаблонов необработанных строк и регулярных выражений.
"Test me".replace("\\s+", " ")
Это заменяет необработанную строку \s+, что является проблемой.
"Test me".replace("\\s+".toRegex(), " ")
Эта строка заменяет несколько пробелов одним пространством. Обратите внимание на явную toRegex() вызов, который делает Regex из String, таким образом, определяя перегрузку с Regex в качестве шаблона.
Там также есть перегрузка, которая позволяет вам производить замену матчей. Например, чтобы заменить их первым встреченным пробелом, используйте это: