python - Python:如何仅将完整的单词“i”大写?
问题描述
所以,我试图让完整的单词“i”只大写,而不是用“i”大写其他所有单词。例如,在我正在处理的这个作业中,程序要求用户输入一个句子,该句子一起运行,但每个单词的第一个字符大写。假设用户输入是“IHaveAnIntegerI”。到目前为止,我所拥有的打印出“我有一个整数 I”。我想要的是“我有一个整数 I”。谢谢。
解决方案
对于涉及“单词”的字符串问题,最简单的解决方案通常是正则表达式,\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
正确地大写单词但巧合。
推荐阅读
- file - 有没有办法从 n 个文件夹中移动 n 个文件,每个文件夹包含 1 个具有相同扩展名的文件,即 (.pdf)
- python - 添加空闲播放位置。游戏
- msbuild - 是否可以使用 dotnet CLI 构建具有 com 引用的项目?
- reactjs - 最佳实践:将 Twitter 访问令牌发送到服务器
- import - 在 PyCharm 中重构目录结构后修复项目中的所有导入路径
- kdb - 在某些条件下删除表重复项
- php - 如何避免 php mail() 函数将电子邮件发送到垃圾邮件文件夹?
- django - 用 django 中的信号更新
- reactjs - Google recaptcha 无法读取 null 的属性“样式”
- android - 在 Android 中以编程方式检测“显示虚拟键盘”设置