字符串(string)篇(五)

1.34 rjust()函数

rjust() 是 Python 中字符串(str)对象的一个方法,用于将字符串右对齐,并使用指定的字符(默认为空格)填充至指定的总宽度。如果指定的宽度小于或等于字符串的长度,则原样返回字符串。

rjust() 方法的语法如下:

str.rjust(width[, fillchar])
  • width:一个整数,表示填充后字符串的总宽度。
  • fillchar(可选):用于填充的字符。默认为空格。

下面是如何使用 rjust() 方法的例子:

# 创建一个字符串
s = "hello"

# 使用默认空格字符右对齐并填充至总宽度为10
padded_s = s.rjust(10)
print(padded_s)  # 输出: "     hello"

# 使用特定字符(如'-')右对齐并填充至总宽度为10
padded_s_with_char = s.rjust(10, '-')
print(padded_s_with_char)  # 输出: "-----hello"

# 如果指定的宽度小于或等于字符串长度,则原样返回字符串
short_padded_s = s.rjust(4)
print(short_padded_s)  # 输出: "hello"

在上面的例子中,rjust() 方法被用来将字符串 “hello” 右对齐,并使用空格或指定的字符填充至总宽度为 10 的新字符串。当指定的宽度小于或等于原始字符串的长度时,rjust() 不会进行任何填充,而是直接返回原始字符串。

这个方法在格式化文本输出时非常有用,特别是当你想要控制文本字段的对齐方式时。例如,在打印表格数据时,你可能想要确保每列都具有相同的宽度,这时就可以使用 rjust()、ljust() 和 center() 等方法来控制字符串的对齐方式。

1.35 rpartition()函数

rpartition() 是 Python 中字符串(str)对象的一个方法,用于从字符串的末尾开始搜索指定的分隔符,并将字符串分割成三部分:分隔符左边的子串、分隔符本身以及分隔符右边的子串。如果字符串中不包含指定的分隔符,则整个字符串作为第一部分返回,其余两部分为空字符串。

rpartition() 方法的语法如下:

str.rpartition(sep)
  • sep:用作分隔符的字符串。

rpartition() 方法返回一个包含三个字符串的元组 (left, sep, right),其中 left 是分隔符左边的子串,sep 是分隔符本身,right 是分隔符右边的子串。

下面是如何使用 rpartition() 方法的例子:

# 创建一个字符串
s = "apple.orange.banana"

# 使用点号作为分隔符进行分割
left, sep, right = s.rpartition(".")
print(left)  # 输出: "apple.orange"
print(sep)   # 输出: "."
print(right) # 输出: "banana"

# 如果字符串不包含分隔符
s_no_sep = "singlefruit"
left_no_sep, sep_no_sep, right_no_sep = s_no_sep.rpartition(".")
print(left_no_sep)  # 输出: "singlefruit"
print(sep_no_sep)   # 输出: ""
print(right_no_sep) # 输出: ""

在上面的例子中,rpartition() 方法根据点号(.)将字符串 s 分割成了三部分。由于点号是从字符串的末尾开始搜索的,因此它找到了最后一个点号,并将字符串分割成了 “apple.orange”、“.” 和 “banana” 三部分。对于不包含分隔符的字符串 s_no_sep,整个字符串作为 left_no_sep 返回,而 sep_no_sep 和 right_no_sep 均为空字符串。

rpartition() 方法在处理文件路径、URL 或其他需要从末尾开始分割的字符串时非常有用。与 split() 方法不同,rpartition() 只分割第一个找到的分隔符,并且是从字符串的末尾开始搜索的。

1.36 split()函数

split() 是 Python 中字符串(str)对象的一个非常常用的方法,它用于将字符串按照指定的分隔符(默认为空格)分割成一个列表(list)。如果字符串中没有分隔符,则整个字符串作为列表的唯一元素返回。

split() 方法的语法如下:

str.split(sep=None, maxsplit=-1)
  • sep:分隔符,默认为所有的空字符,包括空格、换行(\n)、制表符(\t)等。也可以指定其他字符作为分隔符。
  • maxsplit:分割次数。默认为 -1,表示分割所有出现的分隔符。如果指定一个正整数 n,则仅分割前 n 个分隔符。

下面是如何使用 split() 方法的例子:

# 创建一个字符串
s = "apple orange banana"

# 默认以空格作为分隔符进行分割
fruits = s.split()
print(fruits)  # 输出: ['apple', 'orange', 'banana']

# 指定其他字符作为分隔符
s_with_dash = "apple-orange-banana"
fruits_with_dash = s_with_dash.split("-")
print(fruits_with_dash)  # 输出: ['apple', 'orange', 'banana']

# 指定分割次数
s_with_spaces = "apple    orange    banana"
fruits_limited = s_with_spaces.split(" ", 2)
print(fruits_limited)  # 输出: ['apple', '', 'orange    banana']

在上面的例子中,split() 方法被用来将字符串按照空格(或指定的其他字符)分割成一个列表。当指定 maxsplit 参数时,分割操作会在达到指定次数后停止。

split() 方法在文本处理和数据分析中非常有用,它可以将字符串拆分成多个部分,以便进一步处理或分析。例如,在处理 CSV 文件时,可以使用 split() 方法将每行数据分割成多个字段。

1.37 splitlines()函数

splitlines() 是 Python 中字符串(str)对象的一个方法,用于将字符串分割成行,返回一个包含各行作为元素的列表。该方法根据换行符(\n)、回车符(\r)以及回车换行符组合(\r\n)来分割字符串。

splitlines() 方法的语法很简单,不需要任何参数:

str.splitlines(keepends=False)
  • keepends:一个可选的布尔值参数。如果为 True,则保留行尾的分隔符(换行符、回车符等);如果为 False(默认值),则不保留。

下面是如何使用 splitlines() 方法的例子:

# 创建一个包含多行的字符串
s = "第一行\n第二行\r\n第三行\r第四行"

# 使用 splitlines() 分割字符串成行
lines = s.splitlines()
print(lines)  # 输出: ['第一行', '第二行', '第三行', '第四行']

# 保留行尾的分隔符
lines_with_ends = s.splitlines(keepends=True)
print(lines_with_ends)  # 输出: ['第一行\n', '第二行\r\n', '第三行\r', '第四行']

在这个例子中,splitlines() 方法将包含多个行的字符串分割成了一个列表,其中每个元素都是原始字符串中的一行。当 keepends 参数设置为 True 时,行尾的分隔符也被保留在列表的元素中。

这个方法在处理文本文件时特别有用,特别是当你需要逐行读取文件内容而不必担心不同平台上的换行符差异时。通过 splitlines(),你可以轻松地获取文件的每一行,而无需担心换行符的具体形式。

1.38 startswith()函数

startswith() 是 Python 中字符串(str)对象的一个方法,用于检查字符串是否以指定的前缀开始。如果字符串以指定的前缀开始,则返回 True,否则返回 False。

startswith() 方法的语法如下:

str.startswith(prefix, start=0, end=len(string))
  • prefix:要检查的前缀字符串。
  • start:可选参数,指定开始检查的位置,默认为 0(字符串开头)。
  • end:可选参数,指定结束检查的位置,默认为字符串的长度(即检查整个字符串)。

下面是如何使用 startswith() 方法的例子:

# 创建一个字符串
s = "Hello, World!"

# 检查字符串是否以 "Hello" 开始
print(s.startswith("Hello"))  # 输出: True

# 检查字符串是否以 "World" 开始
print(s.startswith("World"))  # 输出: False

# 检查字符串是否以 "Hello" 开始,从索引 2 开始检查
print(s.startswith("llo", 2))  # 输出: True

# 检查字符串是否以 "World" 开始,在索引 0 到 4 的范围内检查
print(s.startswith("World", 0, 5))  # 输出: True

# 使用元组指定多个前缀进行检查
prefixes = ("Hello", "Hi")
print(s.startswith(prefixes))  # 输出: True,因为 "Hello" 在前缀元组中

在上面的例子中,startswith() 方法被用来检查字符串 s 是否以特定的前缀开始。当检查多个前缀时,可以将它们放在一个元组中作为 startswith() 方法的参数。

这个方法在文本处理、文件路径检查、用户输入验证等场景中非常有用,可以帮助你确定字符串是否符合特定的格式或要求。

1.39 strip()函数

strip() 是 Python 中字符串(str)对象的一个方法,用于移除字符串开头和结尾的空白字符(包括空格、制表符、换行符等)。这个方法不会改变原始字符串,而是返回一个新的字符串副本。

strip() 方法的语法很简单,不需要任何参数:

str.strip([chars])
  • chars:可选参数,指定要移除的字符集。如果指定了该参数,strip() 将移除字符串开头和结尾中所有在 chars 中出现的字符。

下面是如何使用 strip() 方法的例子:

# 创建一个带有前后空格的字符串
s = "   Hello, World!   "

# 使用 strip() 移除前后的空格
s_stripped = s.strip()
print(s_stripped)  # 输出: "Hello, World!"

# 创建一个带有特定字符的字符串
s_with_chars = "ABC-Hello, World!-XYZ"

# 使用 strip() 移除前后的特定字符
s_stripped_chars = s_with_chars.strip("-ABCXYZ")
print(s_stripped_chars)  # 输出: "Hello, World!"

在上面的例子中,strip() 方法分别移除了字符串 s 开头和结尾的空格,以及字符串 s_with_chars 开头和结尾的指定字符。

除了 strip(),字符串对象还有 lstrip() 和 rstrip() 方法,它们分别用于移除字符串左侧的空白字符或指定字符,以及移除字符串右侧的空白字符或指定字符。

strip() 方法在处理用户输入、清理文件内容或准备数据用于进一步处理时非常有用,因为它可以帮助你确保数据的一致性和准确性。

1.40 swapcase()函数

swapcase() 是 Python 中字符串(str)对象的一个方法,用于将字符串中的大写字母转换为小写,小写字母转换为大写,其他字符保持不变。这个方法返回一个新的字符串,原始字符串本身不会被改变。

swapcase() 方法的语法很简单,不需要任何参数:

str.swapcase()

下面是如何使用 swapcase() 方法的例子:

# 创建一个字符串
s = "Hello, World!"

# 使用 swapcase() 转换大小写
s_swapped = s.swapcase()

# 输出转换后的字符串
print(s_swapped)  # 输出: "hELLO, wORLD!"

在这个例子中,swapcase() 方法将字符串 s 中的所有大写字母转换为小写,所有小写字母转换为大写,然后返回新的字符串。

这个方法在文本处理中很有用,特别是当你需要快速反转字符串中字母的大小写时。例如,在文本编辑、数据清理或文本比较等场景中,你可能需要用到这个方法。

1.41 title()函数

title() 是 Python 中字符串(str)对象的一个方法,用于将字符串中的每个单词的首字母转换为大写,其余字母转换为小写。这通常用于将字符串转换为“标题格式”。

title() 方法的语法很简单,不需要任何参数:

str.title()

下面是如何使用 title() 方法的例子:

# 创建一个字符串
s = "hello world this is a title"

# 使用 title() 方法将字符串转换为标题格式
s_titled = s.title()

# 输出转换后的字符串
print(s_titled)  # 输出: "Hello World This Is A Title"

在这个例子中,title() 方法将字符串 s 中的每个单词的首字母转换为大写,其余字母转换为小写,然后返回新的字符串。注意,这里所说的“单词”是由空格分隔的字符串片段。

需要注意的是,title() 方法在处理某些语言时可能不会得到预期的结果,因为它只是简单地根据空格来分隔单词,并不考虑语言特定的规则。对于非英语文本,可能需要使用更复杂的文本处理库或方法来获得正确的标题格式。

title() 方法在文本格式化、生成报告或准备用于显示的文本时非常有用,它可以帮助你快速地将文本转换为一种更易于阅读的格式。

1.42 translate()函数

translate() 是 Python 中字符串(str)对象的一个方法,它用于替换字符串中的某些字符。这个方法使用一个翻译表,该表指定了字符的替换规则。翻译表通常是通过 str.maketrans() 方法创建的,它接受两个字符串参数,分别表示需要被替换的字符和替换后的字符。

translate() 方法的语法如下:

str.translate(table)
  • table:一个翻译表,通常由 str.maketrans() 创建。

str.maketrans() 方法的语法如下:

str.maketrans(x, y[, z])
  • x:一个字符串,包含需要被替换的字符。
  • y:一个字符串,包含替换 x 中字符的字符。x 和 y 必须具有相同的长度。
  • z(可选):一个字符串,包含需要被删除的字符。

下面是如何使用 translate() 和 maketrans() 方法的例子:

# 创建一个字符串
s = "hello world"

# 使用 maketrans 创建翻译表
# 'h' 替换为 'H', 'e' 替换为 'E', 'l' 替换为 'L'
trans_table = str.maketrans('hel', 'HEL')

# 使用 translate 和翻译表替换字符
s_translated = s.translate(trans_table)

# 输出翻译后的字符串
print(s_translated)  # 输出: "Hello worLd"

# 创建一个包含需要被删除的字符的翻译表
del_table = str.maketrans('', '', 'lo')

# 使用 translate 和翻译表删除字符
s_deleted = s.translate(del_table)

# 输出删除字符后的字符串
print(s_deleted)  # 输出: "he wrd"

在这个例子中,我们首先使用 maketrans() 创建了一个翻译表,它将 ‘h’ 替换为 ‘H’,‘e’ 替换为 ‘E’,‘l’ 替换为 ‘L’。然后,我们使用 translate() 和这个翻译表来替换字符串 s 中的字符。接着,我们又创建了一个翻译表来删除字符串中的 ‘l’ 和 ‘o’ 字符,并使用 translate() 来实现这一点。

translate() 方法在处理文本替换任务时非常有用,特别是当你需要替换多个字符或删除特定字符时。与简单的 str.replace() 方法相比,translate() 通常更快,因为它使用了一个预先构建的翻译表来执行替换操作。

1.43 upper()函数

upper() 是 Python 中字符串(str)对象的一个方法,用于将字符串中的所有小写字母转换为大写字母。这个方法返回一个新的字符串,原始字符串本身不会被改变。

upper() 方法的语法很简单,不需要任何参数:

str.upper()

下面是如何使用 upper() 方法的例子:

# 创建一个字符串
s = "Hello, World!"

# 使用 upper() 将所有小写字母转换为大写
s_upper = s.upper()

# 输出转换后的字符串
print(s_upper)  # 输出: "HELLO, WORLD!"

在这个例子中,upper() 方法将字符串 s 中的所有小写字母转换为大写字母,然后返回新的字符串。需要注意的是,这个方法不会改变字符串中的非字母字符,例如标点符号和空格。

upper() 方法在文本处理中非常常见,特别是当你需要将文本转换为大写形式进行比较、搜索或格式化时。例如,在忽略大小写的情况下进行字符串比较时,将两个字符串都转换为大写或小写形式可以简化比较过程。

这里是一个使用 upper() 方法进行字符串比较的例子:

# 两个字符串,其中一个是另一个的大写形式
s1 = "hello"
s2 = "HELLO"

# 使用 upper() 将两个字符串都转换为大写,然后进行比较
if s1.upper() == s2.upper():
    print("The strings are equal when ignoring case.")
else:
    print("The strings are not equal.")

输出将是:

The strings are equal when ignoring case.

在这个例子中,尽管 s1 和 s2 的原始形式在大小写上不同,但通过将它们都转换为大写形式,我们可以正确地判断出这两个字符串在忽略大小写的情况下是相等的。

1.44 zfill()函数

zfill() 是 Python 中字符串(str)对象的一个方法,用于在字符串的左侧填充零,直到达到指定的宽度。这通常用于格式化数字字符串,使它们具有固定的宽度,以便在表格或其他对齐环境中正确对齐。

zfill() 方法的语法如下:

str.zfill(width)
  • width:一个整数,表示填充后字符串应该具有的宽度。如果原始字符串的长度已经大于或等于 width,则字符串将保持不变。

下面是如何使用 zfill() 方法的例子:

# 创建一个数字字符串
s = "42"

# 使用 zfill() 方法在左侧填充零,直到字符串宽度为 5
s_filled = s.zfill(5)

# 输出填充后的字符串
print(s_filled)  # 输出: "00042"

# 创建一个已经足够宽的字符串
s = "12345"

# 使用 zfill() 方法,宽度保持不变,因为原始字符串已经足够宽
s_filled = s.zfill(5)

# 输出填充后的字符串(与原始字符串相同)
print(s_filled)  # 输出: "12345"

在这个例子中,zfill() 方法在字符串 “42” 的左侧填充了两个零,使其总宽度达到 5。然而,当尝试对已经足够宽的字符串 “12345” 使用 zfill(5) 时,字符串保持不变,因为它已经具有指定的宽度。

zfill() 方法在处理数字字符串时特别有用,因为它可以很容易地将数字格式化为固定宽度的字符串,这在打印表格或对齐文本时非常有用。不过,需要注意的是,zfill() 只在字符串的左侧填充零,并且不会截断原始字符串以满足指定的宽度。如果原始字符串的长度已经大于或等于指定的宽度,它将保持不变。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

熊猫Devin

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值