我正在使用正则表达式将首字母大写。要么 ?要么 !但是我无法使用大写字母,是否有我遗漏的东西?
val reply = line.replaceAll("""([\.!?])\s+([a-z])""","""$1"""+" "+"""$2""".toUpperCase)
.toUpperCase
没效果,所以我尝试了这个:
val pattern = """(?:(.+)?([\.!?])\s+([a-z])(.+)?)+""".r
val reply = line match {
case pattern(a,b,c,d) => a+b+" "+c.toUpperCase+d
case _ => line
}
这与所有出现的都不匹配。它只会在第一个时期之后将这个字母大写。
答案 0 :(得分:7)
您可以使用replaceAllIn
的{{1}}方法:
Regex