用java实现字符串-句子-大小写转换
在java中实现句子大小写转换的最佳方法是什么
例如: 今天是星期一。昨天是星期天。星期一之后是星期二
产出将是 今天是星期一 昨天是星期天 星期一之后是星期四
我的逻辑是:
将整个句子转换成小写字母
检查
'.'
并将'. '
之后的第一个字符转换为大写字母
你可以在下面搜索框中键入要查询的问题!
在java中实现句子大小写转换的最佳方法是什么
例如: 今天是星期一。昨天是星期天。星期一之后是星期二
产出将是 今天是星期一 昨天是星期天 星期一之后是星期四
我的逻辑是:
将整个句子转换成小写字母
检查'.'
并将'. '
之后的第一个字符转换为大写字母
# 1 楼答案
这里有一个解决方案:
正则表达式
(^|\\.)\\s*(\\w)
匹配行或点的开头,后跟可选空格,然后是单词字符# 2 楼答案
看看StringCharacterIterator。迭代直到找到一个点(或其他分隔符),然后查找下一个字母(在找到它之前可能是一些空格/换行符),并使其大写
# 3 楼答案
另一个解决方案:
输出:
# 4 楼答案
你的逻辑看起来不错。再多一点代码:
sentence.split("[\\.?!]")
会给你一组句子(按标点符号分开)# 5 楼答案
除了缩写词,例如,或3磅重的缩写词,这些都会给你带来麻烦,而且没有一个很好的方法自动检测句子的开头。(注意:缩写也可以是专有名称,比如纽约的N.Y.,因此没有详尽的列表)
你还需要用吗?和作为句子分隔符