我想编写一种算法,以删除字符串中以大写字母开头的每个单词。
例如:
原始字符串:“今天是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没有给出任何结果。
谁能帮我解决这个问题?
在某些假设下,单词总是用空格分开,您可以这样实现它:
scala> "Today is Friday the 29Th.".split("\\s+").filterNot(_.head.isUpper).mkString(" ")
res2: String = is the 29Th.
我们并不是真的想像在scala中那样编写算法。这是您在C语言中执行此操作的一种方式。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句