如何将每个句子的第一个字母大写?

新手上路,请多包涵

我正在尝试编写一个将每个句子的第一个字母大写的程序。到目前为止,这是我所拥有的,但我无法弄清楚如何在句子之间添加句号。例如,如果我输入:

你好。再见

输出是

你好再见

句号消失了。

 string=input('Enter a sentence/sentences please:')
sentence=string.split('.')
for i in sentence:
    print(i.capitalize(),end='')

原文由 user3307366 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 313
1 个回答

您可以 使用 nltk 进行句子分割

 #!/usr/bin/env python3
import textwrap
from pprint import pprint
import nltk.data # $ pip install http://www.nltk.org/nltk3-alpha/nltk-3.0a3.tar.gz
# python -c "import nltk; nltk.download('punkt')"

sent_tokenizer = nltk.data.load('tokenizers/punkt/english.pickle')
text = input('Enter a sentence/sentences please:')
print("\n" + textwrap.fill(text))
sentences = sent_tokenizer.tokenize(text)
sentences = [sent.capitalize() for sent in sentences]
pprint(sentences)

输出

请输入一句话/句子:
一个句点可能出现在一个句子中,例如,看!并且这句话可能
没有点就结束!
['一个句点可能出现在一个句子中,例如,看!',
 '而且句子可能没有点结束!']

原文由 jfs 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题