如何把每个句子的首字母大写?

use*_*870 2 c# string

我知道如何把每个单词中的第一个字母大写.但我想知道如何利用C#中每个句子的首字母大写.

Kev*_*ler 12

这不一定是一个微不足道的问题.句子可以以许多不同的标点符号结束,并且那些相同的标点符号并不总是表示句子的结尾(像博士这样的缩写可能会造成特定的问题,因为它们可能存在很多).

话虽这么说,你可能能够通过使用正则表达式在句子结束标点符号后查找单词来获得"足够好"的解决方案,但是你必须添加一些特殊情况.逐字或逐字处理字符串可能更容易.您仍然需要处理所有相同的特殊情况,但它可能比尝试将其构建为正则表达式更容易.

语法和标点符号有很多奇怪的规则.你想出的任何解决方案都可能无法将它们全部考虑在内.有些事情需要考虑:

  • 句子可以以不同的标点符号结尾(.!?)
  • 一些标点符号表示结束句子也可能在句子中间使用(例如,像Dr. Dr.先生这样的缩写)
  • 句子可能包含嵌套句子.引用可能会造成一个特殊的问题(例如,他说,"这是一个难题!我想知道,"他沉思道,"如果可以解决的话.")

  • 你怎么得到这么多的赞成票而没有真正提供问题的答案?我想知道你古龙水的名字! (8认同)