Я использовал следующее регулярное выражение для сопоставления пробелов Unicode:
Regex("[\\p{javaWhitespace}\u00A0\u2007\u202F]+")
Это работает, потому что, хотя \s
соответствует только пробелам Latin-1, \p{javaWhitespace}
соответствует всем, для которых Character.isWhitespace()
верно,По некоторым причинам, это не включает в себя несколько конкретных символов, которые я перечислил отдельно.
Дополнительная информация в документах для Pattern .
Факт, связанный с этим:хотя java.lang.String.trim () не удаляет неразрывные или фигурные пробелы, kotlin.String.trim () делает!