阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

Python将所有的英文单词首字母变成大写

29次阅读
没有评论

共计 1273 个字符,预计需要花费 4 分钟才能阅读完成。

导读 将英文单词首字母变成大写是非常常用的文本操作,使用 capitalize 方法可以将一个英文单词的首字母变成大写。

Python 将所有的英文单词首字母变成大写

将英文单词首字母变成大写是非常常用的文本操作,使用 capitalize 方法可以将一个英文单词的首字母变成大写。但如何将一段文本中所有英文单词的首字母都变成大写呢? 最容易想到的方法是将这些英文单词拆成独立的单词,然后分别使用 capitalize 方法将这些英文单词的首字母变成大写,然后再将这些单词连接起来,实现代码如下:

s = 'The weather is really nice today, very suitable for an outing.' 
 
arr = s.split() 
for i in range(0, len(arr)): 
    arr[i] = arr[i].capitalize() 
s1 = " ".join(arr) 
print(s1)

运行代码看看效果:

从这段代码可以看出,使用了 3 个方法:split、capitalize 和 join。分别用来拆分字符串; 将英文单词首字母转换为大写; 使用特定的分隔符 (本例是空格) 合并列表中的字符串。

不过这段代码好麻烦,有没有更简单的方式呢? 当然有,铛铛铛! 刚出锅的代码来了:

s = 'The weather is really nice today, very suitable for an outing.' 
print(" ".join([word.capitalize() for word in s.split()]))  # 只用了一行代码

够酷吧,这里只用了一行代码。其实这行代码与前面的实现方法没有本质的区别,只是用了 Python 中通过 for in 语句生成列表的方式,将多行代码简化成了一行代码,Python 简直太神奇了。其实啊,如果要熟悉 Python API,连一行代码都不用写,一个方法就解决了,这就是 string.capwords 方法,该方法属于 string 模块,所以需要先导入 string 模块,代码如下:

import string 
s = 'The weather is really nice today, very suitable for an outing.' 
print(string.capwords(s))   #将字符串中所有单词首字母大写

看看简单不,别忙,还没完呢!capwords 方法的默认分隔符是空格,如果这些英文单词用其他符号分隔,就需要使用 capwords 方法的第 2 个参数了,看下面的例子:

import string 
s = 'The,weather,is,really,nice,today,very,suitable,for,an,outing.' 
print(string.capwords(s, ','))   # 用逗号分隔的英文单词

这段代码使用 capwords 方法将由逗号 (,) 分隔的所有英文单词的首字母转换为大写字母。运行结果如下:

The,Weather,Is,Really,Nice,Today,Very,Suitable,For,An,Outing.

阿里云 2 核 2G 服务器 3M 带宽 61 元 1 年,有高配

腾讯云新客低至 82 元 / 年,老客户 99 元 / 年

代金券:在阿里云专用满减优惠券

正文完
星哥说事-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2024-07-25发表,共计1273字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中