我知道如何将每个单词的首字母大写。但我想知道如何在 C# 中将每个句子的首字母大写。
最佳答案
这不一定是一个微不足道的问题。句子可以以许多不同的标点符号结尾,而这些相同的标点符号并不总是表示句子的结尾(像 Dr. 这样的缩写可能会带来一个特殊的问题,因为它们可能有很多)。
话虽如此,通过使用正则表达式查找句末标点符号后的单词,您或许可以获得“足够好”的解决方案,但您必须添加很多特殊情况。逐个字符或逐字处理字符串可能更容易。您仍然需要处理所有相同的特殊情况,但这可能比尝试将其构建到正则表达式中更容易。
语法和标点符号有很多奇怪的规则。您提出的任何解决方案可能都无法将它们全部考虑在内。需要考虑的一些事项:
- 句子可以以不同的标点符号结尾 (. ! ?)
- 一些结束句子的标点符号也可以用在句子中间(例如 Dr. Mr. e.g. 等缩写)
- 句子可以包含嵌套的句子。引用可能会提出一个特定的问题(例如,他说,“这是一个难题!我想知道,”他若有所思地说,“它是否可以解决。”)
关于c# - 如何将每个句子的首字母大写?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2784588/