在 Python 中大写字符串的首字母

Azaz Farooq 2023年1月30日 2021年2月28日
  1. 在 Python 中使用 capitalize() 方法大写字符串的第一个字母
  2. 在 Python 中使用 title() 方法大写字符串的第一个字母
  3. 在 Python 中使用 capwords() 函数大写字符串的第一个字母
  4. 在 Python 中使用 regex 方法将字符串的第一个字母大写
  5. 在 Python 中使用用户定义的方法将字符串的第一个字母大写
在 Python 中大写字符串的首字母

本文将讨论在 Python 中大写字符串的第一个字母的方法。我们还将讨论当字符串的开头是数字而不是字母时的情况。

在 Python 中使用 capitalize() 方法大写字符串的第一个字母

字符串类的 capitalize() 方法将第一个字符大写,而其余字符则为小写。如果第一个字符已经是大写的,它不会做任何事情。

完整的示例代码在下面给出。

string="learn Python"
cap_string= string.capitalize()
print("The capitalized string is:", cap_string)

输出:

The capitalized string is: Learn python

如果字符串中的第一个字符是数字,它不会将第一个字母大写。为了解决这个问题,我们可以使用 isdigit() 函数。

下面给出了使用 isdigit() 函数的完整示例代码。

string="5learn python"

for i, c in enumerate(string):
     if not c.isdigit():
         break

cap_string=string[:i] + string[i:].capitalize()

print("The capitalized string is:", cap_string)

输出:

The capitalized string is: 5Learn python

enumerate() 函数提供一个字符串的可迭代计数器,并返回其枚举对象。isdigit() 检查该字符是否为数字。当遇到第一个非数字字符时,它就会中断 for 循环。

string[:i] 是前几位数字的子字符串,string[i:].capitalize() 将剩余字符串的第一个字母转换为大写。

在 Python 中使用 title() 方法大写字符串的第一个字母

title() 方法可以使每个单词的标题字符串大写。这意味着每个单词的第一个字符被转换为大写,其余单词字符被转换为小写。

完整的示例代码如下:

string="learn python"
cap_string= string.title()
print("The capitalized string is:", cap_string)

输出:

The capitalized string is: Learn Python

不管单词开头是否存在数字,此函数都会将字符串中每个单词的首字母大写。

在 Python 中使用 capwords() 函数大写字符串的第一个字母

它是 string 模块的功能。它将字符串拆成单词,并在每个单词大写后使用指定的分隔符将它们重新连接起来。默认的分隔符是空格。

完整的示例代码如下:

import string

strng="learn python"
cap_strng= string.capwords(strng)
print("The capitalized string is:", cap_strng)

输出:

The capitalized string is: Learn Python

在 Python 中使用 regex 方法将字符串的第一个字母大写

这个方法也会将字符串中每个单词的第一个字母大写,而其余的字符都是小写。

完整的示例代码如下:

import re

string="learn python"

string = re.sub('([a-zA-Z])', lambda x: x.groups()[0].upper(), string, 1)

print("The capitalized string is:",string)

输出:

The capitalized string is: Learn python

Python 的正则表达式模块的 sub() 函数将给定字符串中的字符串模式 [a-zA-Z](小写或大写字母)用 lambda 函数的返回值替换。

lambda x: x.groups()[0].upper() 将正则表达式中第一个匹配的组(本例中的第一个字母)转换为大写字母。x 是这里的匹配对象。

我们需要将第一个字母大写,因此,re.sub() 函数中的 count 设置为 1,以便仅进行一次替换。

在 Python 中使用用户定义的方法将字符串的第一个字母大写

我们也可以做一个用户自定义的函数来大写字符串的第一个字母。我们将找到第一个字母的索引 i,并将 upper() 方法应用到子串 string[:i] 中。即使存在前导数字,它也会大写字符串的第一个字母。

完整的示例代码如下。

def check_alphabets(strng):
    i = 0
    for c in strng:
        if c.isalpha():
            i = i + 1
            return i
        i = i + 1

def unchanged_characters(strng):
    i = check_alphabets(strng)
    return strng[:i].upper() + strng[i:]

strng = '0learn1python'

cap_string = unchanged_characters(strng)

print("The capitalized string is:", cap_string)

输出:

The capitalized string is: 0Learn1python

相关文章 - Python String