作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用正则表达式将 . 之后的第一个字母大写。或者 ?或者 !但我无法使用大写字母,是不是我遗漏了什么?
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
}
这并不匹配所有出现的 .并且它只在第一个句号之后将字母大写。
最佳答案
你可以使用 Regex
的 replaceAllIn
方法:
scala> """[\.!?]\s+[a-z]""".r.replaceAllIn("abc. abc", _.matched.toUpperCase)
res0: String = abc. Abc
关于regex - 句点后首字母大写,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16381625/
我是一名优秀的程序员,十分优秀!