Я хочу написать алгоритм, который удаляет каждое слово, начинающееся символом в верхнем регистре в строке.Удалить слова строки, начинающейся с символов верхнего регистра в Scala
Например:
Оригинальная строка: "Сегодня пятница 29-го"
Желаемый результат: "is the 29Th."
Я написал этот алгоритм, но он не является полным:
def removeUpperCaseChars(str: String) = {
for (i <- 0 to str.length - 1) {
if (str.charAt(i).isUpper) {
var j = i
var cont = i
while (str.charAt(j) != " ") {
cont += 1
}
val subStr = str.substring(0, i) + str.substring(cont, str.length - 1)
println(subStr)
}
}
}
Он (предположительно) удаляет каждое слово с символами верхнего регистра вместо удаления только те слова, которые начинаются с символов верхнего регистра. И хуже того, Scala не дает никакого результата.
Может ли кто-нибудь помочь мне с этой проблемой?
или просто 'split (" + ")', чтобы разрешить любое количество пробелов. – ale64bit
Да, я знаю это или лучше '\\ s +', но после присоединения слов он всегда будет с одним пробелом, поэтому мы можем потерять некоторые пробелы, поэтому я сделал предположение, но, возможно, код будет лучше с \ \ S +. –
Ну, это было намного проще, чем я думал. Спасибо, это именно то, что я искал. – undisp