python中将字符变为大写_如何将字符串中每个单词的首字母大写(Python)?

这篇博客探讨了两种在Python中处理字符串的方法。首先介绍了如何通过列表推导式和切片操作将字符串的每个单词首字母转为大写,然后利用生成器表达式避免了额外的内存开销。接着,展示了如何使用正则表达式`re.sub()`函数,配合自定义回调函数,实现更复杂的字符串处理,如在单词首字母前保留原始空白并将其余部分转换为大写。这种方法解决了标点符号问题且不改变原有空格格式。
摘要由CSDN通过智能技术生成

仅仅因为这种事情对我来说很有趣,这里还有两个解决方案。

分成单词,从分组中初始化每个单词,然后重新加入。这将改变将单词分隔成单个空白区域的空白区域,无论它是什么。s = 'the brown fox'lst = [word[0].upper() + word[1:] for word in s.split()]s = " ".join(lst)

编辑:当我编写上面的代码时,我不记得我在想什么,但是没有必要建立一个明确的列表; 我们可以使用生成器表达式以懒惰的方式执行它。所以这是一个更好的解决方案:s = 'the brown fox's = ' '.join(word[0].upper() + word[1:] for word in s.split())

使用正则表达式匹配字符串的开头,或分隔单词的空格,以及单个非空白字符; 使用括号标记“匹配组”。编写一个带有匹配对象的函数,并返回未更改的空白匹配组和以大写字母表示的非空白字符匹配组。然后re.sub()用来替换图案。这个没有第一个解决方案的标点符号问题,也不像我的第一个解决方案那样重做白色空间。这个产生最好的结果。import re

s = 'the brown fox'def repl_func(m):

"""process regular expression match groups for word upper-casing problem"""

return m.group(1) + m.group(2).upper()s = re.sub("(^|\s)(\S)", repl_func, s)>>> re.sub("(^|\s)(\S)", repl_func, s)"They're Bill's Friends From The UK"

我很高兴我研究了这个答案。我不知道re.sub()可以采取功能!您可以在内部re.sub()进行非平凡处理以产生最终结果!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值