文字列内に大文字で始まるすべての単語を削除するアルゴリズムを作成します。例えばScalaの大文字で始まる文字列の単語を削除します
:
オリジナルの文字列: "今日は金曜日29日です"
希望の結果: "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 +'ですが、単語を結合した後は常に1つの空白があるので、空白を失うかもしれません。これが私が仮定した理由ですが、 \ s +。 –
それは私が思ったよりずっと簡単でした。ありがとう、これはまさに私が探していたものでした。 – undisp