摘要:
将英文单词首字母变成大写是一个古老的话题,很常用,也很简单。不过如何用更简单的方式批量完成这个工作,则有很多学问,不想来看看吗!
将英文单词首字母变成大写是非常常用的文本操作,使用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)
运行代码看看效果:
The Weather Is Really Nice Today, Very Suitable For An Outing.
从这段代码可以看出,使用了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.
另外,做一下预告,最近要推出一系列文章,专门介绍Python的核心API,本文是这一系列文章的第篇。掌握这些API的使用方法,可以让我们少写很多代码,而且还会降低代码的出错几率!
总结
到此这篇关于Python就将所有的英文单词首字母变成大写的文章就介绍到这了,更多相关Python英文单词首字母大写内容请搜索小牛知识库以前的文章或继续浏览下面的相关文章希望大家以后多多支持小牛知识库!
本文向大家介绍怎么让英文单词的首字母大写?相关面试题,主要包含被问及怎么让英文单词的首字母大写?时的应答技巧和注意事项,需要的朋友参考一下
问题 你想把字符串中每个单词的首字母转换为大写形式。 解决方案 使用“拆分-映射-拼接”模式:先把字符串拆分成单词,然后通过映射来大写单词第一个字母小写其他字母,最后再将转换后的单词拼接成字符串。 ("foo bar baz".split(' ').map (word) -> word[0].toUpperCase() + word[1..-1].toLowerCase()).join ' ' #
问题内容: 我知道这个线程到处都是,但是,情况稍有不同。在我公司使用的套件中,我对SQL的访问权限有限,并且无法运行带有函数等的复杂代码。我有一个SQL查询,该查询将多列数据编译为一列,并使用group by子句淘汰了多重性。但是,由于存在差异,因此这导致所有结果以大写形式返回。我现在必须将其改回原来的样子,即每个单词的首字母大写。我需要一种非常简洁的方法。该套件使用VBScript和XML,但是
问题内容: 您如何将单词的第一个字母替换为大写字母,例如 进入 问题答案: 这行应该做到这一点:
将字符串中每个单词的首字母大写。 使用 ``String.replace()来匹配每个单词的第一个字符,并使用String.toUpperCase()` 来将其大写。 const capitalizeEveryWord = str => str.replace(/\b[a-z]/g, char => char.toUpperCase()); capitalizeEveryWord('hello
问题内容: 我知道.capitalize()将字符串的第一个字母大写,但是如果第一个字符是整数怎么办? 这个 对此 问题答案: 如果第一个字符是整数,则不会大写第一个字母。 如果需要此功能,请去除数字,然后使用来检查每个字符。