Python 字符串操作

Python 字符串操作

在本教程中,我们将学习一些酷炫的操作以操作字符串。我们将看到如何以Python的方式操作字符串。 字符串是每个Python程序员都使用的基本和必要的数据结构。在Python中,字符串是由单引号(’…’)或双引号(“…”)括起来的一系列字符。它是一个不可变的内置数据结构,这意味着一旦创建了字符串,就无法修改它。但是,我们可以通过连接或切片现有字符串来创建新字符串。

现在让我们了解最必知的Python字符串操作技巧。

1. 字符串填充:优雅地添加额外字符

字符串填充是一种术语,表示将字符添加到字符串的开头或结尾,直到达到某个长度。它可能有用于格式化文本以与其他数据对齐,或使其更容易阅读。

在Python中,可以使用str.ljust(),str.rjust()和str.center()方法来填充字符串。

以下是使用str.ljust()方法填充带有空格的字符串的示例:

示例 –

text = "Python"
padded_text = text.ljust(10)
print(padded_text)

输出:

Python

在上面的示例中,ljust()方法在字符串的末尾添加空格,直到它变为10个字符长。

我们也可以通过将它作为方法的参数传递来指定填充字符:

输出 –

text = "Python"
padded_text = text.rjust(10, '-')
print(padded_text)

输出:

----Python

在这个示例中,rjust()方法在字符串的开头添加破折号,直到它达到10个字符的长度。

可以使用str.center()方法在一定的宽度中心字符串:

示例 –

text = "Python"
padded_text = text.center(10, '*')
print(padded_text)

输出:

**Python**

2. 字符串拆分

字符串拆分是指根据指定的分隔符或分隔符将字符串分成多个子字符串。在Python中,可以使用str.split()方法来拆分字符串。

以下是基于空格字符拆分字符串的示例。

示例 –

text = "Hello world, how are you today?"
words = text.split()
print(words)

输出:

['Hello', 'world,', 'how', 'are', 'you', 'today?']

在这个示例中,split()方法返回一个子字符串列表,其中每个子字符串对应原始字符串中的一个单词。

我们还可以指定不同的分隔符来拆分字符串:

示例 –

text = "apple,banana,orange,grape"
fruits = text.split(',')
print(fruits)

输出:

['apple', 'banana', 'orange', 'grape']

在上面的示例中,split()方法基于逗号拆分字符串并返回一个子字符串列表,其中每个子字符串对应原始字符串中的一个水果。

默认情况下,split()方法是基于空格字符拆分字符串的。但是,您也可以使用sep参数指定不同的分隔符。

示例 –

text = "apple-banana-orange-grape"
fruits = text.split('-', maxsplit=2)
print(fruits)

在这个示例中,split()方法基于破折号(-)拆分字符串并返回一个子字符串列表,其中前两个子字符串对应于第一个和第二个水果,第三个子字符串对应于剩余的水果。maxsplit参数指定执行的最大拆分数。

3. 使用F-字符串格式化字符串

f-strings是Python 3.6和以上版本中的一个特性,允许在字符串字面量中嵌入表达式。它们是一种方便的方法,用于创建包含动态值的字符串或使用可变值格式化字符串。让我们了解以下示例。

示例 –

name = "Alice"
age = 30
greeting = f"Hello, my name is {name} and I'm {age} years old."
print(greeting)

输出:

import re

text = "The quick brown fox jumps over the lazy dog"
pattern = "fox"

if re.search(pattern, text):
    print("Match found")
else:
    print("Match not found")

输出:

Match found

在上述代码中,我们首先导入re模块。然后我们定义一个样本文本字符串和一个要搜索的模式。我们使用re.search()方法在文本字符串中搜索该模式。如果找到匹配项,我们打印“找到匹配项”,否则我们打印“未找到匹配项”。

正则表达式可以用于更复杂的字符串操作任务,例如从文本中提取特定信息、用其他模式替换某些模式等等。学习正则表达式可以极大地增强一个人在Python中有效处理字符串的能力。

import re
string = "The quick brown fox jumps over the lazy dog."
pattern = r"fox"
match = re.search(pattern, string)
if match:
    print("匹配成功!")
else:
    print("未找到匹配。")

输出:

匹配成功!

解释 –

在上面的代码中,我们在字符串 “The quick brown fox jumps over the lazy dog.” 中搜索模式 “fox”。如果找到了该模式,则 re.search() 函数会返回一个匹配对象,否则返回 None。我们使用 if 语句检查是否找到了匹配,并输出相应的消息。

让我们来看看 Python 中使用正则表达式的另一个例子 –

例子 –

import re
string = "John Doe (42 years old)"
pattern = r"(\w+) (\w+) \((\d+) years old\)"
match = re.search(pattern, string)
if match:
    print("姓名:", match.group(1), match.group(2))
    print("年龄:", match.group(3))
else:
    print("未找到匹配。")

解释 –

在上面的例子中,我们使用正则表达式从具有特定格式的字符串中提取姓名和年龄。模式 r”(\w+) (\w+) \((\d+) years old\)” 匹配了用括号括起来的名字和年龄。我们使用 match.group() 方法提取匹配的组并打印它们。

8. 删除字符串的简便方法

通常,我们使用循环来反转给定的字符串;但也可以使用切片反转,但这不是 Pythonic 的方法。让我们看下面的例子。

例子 –

name = "Peter"
print(name[::-1])

输出:

reteP

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

Python 教程