の後の最初の文字を大文字にするために正規表現を使用しています。また ?また !しかし、大文字を使用できません。不足しているものはありますか?
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
}
これは のすべての出現に一致するわけではありません。最初のピリオドの後の文字のみを大文字にします。