und*_*isp 3 string scala substring char
我想编写一个算法,删除字符串中由大写字符开头的每个单词.
例如:
原字符串:"今天是星期五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)
}
}
}
Run Code Online (Sandbox Code Playgroud)
它(据说)用大写字符删除每个单词而不是仅删除以大写字符开头的单词.更糟糕的是,Scala没有给出任何结果.
任何人都可以帮我解决这个问题吗?
有了一些假设,像单词总是用空格分开,你可以像这样实现它:
scala> "Today is Friday the 29Th.".split("\\s+").filterNot(_.head.isUpper).mkString(" ")
res2: String = is the 29Th.
Run Code Online (Sandbox Code Playgroud)
我们真的不想像你在scala中那样编写算法.这是你在C中做的一种方式.
| 归档时间: |
|
| 查看次数: |
496 次 |
| 最近记录: |