首页 > 解决方案 > Python:如何仅将完整的单词“i”大写?

问题描述

所以,我试图让完整的单词“i”只大写,而不是用“i”大写其他所有单词。例如,在我正在处理的这个作业中,程序要求用户输入一个句子,该句子一起运行,但每个单词的第一个字符大写。假设用户输入是“IHaveAnIntegerI”。到目前为止,我所拥有的打印出“我有一个整数 I”。我想要的是“我有一个整数 I”。谢谢。

标签: python

解决方案


对于涉及“单词”的字符串问题,最简单的解决方案通常是正则表达式,\b可用于匹配单词边界。因此,当且仅当它作为一个单词单独存在时,正则表达式才\bi\b匹配该字母。i

>>> import re
>>> re.sub(r'\bi\b', 'I', 'i did it, i did it!')
'I did it, I did it!'

请注意,这只是自然语言中被视为“单词”的近似值;例如,它将i.e.不正确地大写缩写,并且将i've正确地大写单词但巧合。


推荐阅读