我想寫一個算法來刪除由字符串中的大寫字符開始的每個字。在Scala中刪除由大寫字符開頭的字符串的字
例如:
原始字符串:「今天是星期五第29位。」
預期結果:「是第29位」。
我寫這個算法,但它是不完整的:
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