removePrefix
удаляет определенную часть строки, только если это префикс.Очевидно, это не ваш случай.Вы можете выполнить последовательность split
, filter
, join
, чтобы получить ожидаемый результат.
println("SUMMARY WINTER FORMAL".split(" ").filter { it != "SUMMARY" }.joinToString(" "))
//output : "WINTER FORMAL"
Но если у вас есть несколько смежных пробелов, они станут одним пробелом в выходных данных.Также этот метод не работает, если «SUMMARY» не окружен пробелами, например, «SUMMARYWINTERFORMAL» не будет изменен.
Вы можете удалить часть строки, заменив ее пустой строкой, но обратите внимание, что этосохранит все окружающие символы, включая окружающие пробелы.
println("SUMMARY WINTER FORMAL".replace("SUMMARY",""))
//output : " WINTER FORMAL"
Обратите внимание, что перед "WINTER" есть пробел
Если вы не хотите включать пробелы, если они есть, используйтеРегулярное выражение будет делать:
println("SUMMARY WINTER FORMAL".replace("\\s*SUMMARY\\s*".toRegex(),""))
//output : "WINTER FORMAL"
println("SUMMARYWINTERFORMAL".replace("\\s*SUMMARY\\s*".toRegex(),""))
//output : "WINTERFORMAL"
println(" SUMMARY WINTER FORMAL".replace("\\s*SUMMARY\\s*".toRegex(),""))
//output : "WINTER FORMAL"
Вы можете изменить регулярное выражение еще больше, чтобы лучше соответствовать вашему варианту использования.