从 Python 字符串中删除多个字符
我们已经知道字符串是由字符序列定义的,可以对它们执行各种操作。
在本教程中,我们将学习使用 Python 中的字符串可以完成的一项有趣任务。
在这里,我们将看到如何从字符串中删除多个字符。
我们列出了以下方法,我们将学习满足我们目标的方法。
- 使用 嵌套的 replace()
- 使用 translate() 和 maketrans()
- 使用 subn()
- 使用 sub()
使用嵌套的 replace()
在下面给出的程序中,我们将看到如何使用 replace() 从字符串中删除多个字符。
#initializing the string
string_val = 'learnpythonlearn'
#displaying the string value
print("The initialized string is ", string_val)
#using nested replace()
res_str = string_val.replace('l', '%temp%').replace('l', 'e').replace('%temp%', 'e')
#printing the resultant string
print ("The string after replacing the characters is ", res_str)
输出:
The initialized string is learnpythonlearn
The string after replacing the characters is eearnpythoneearn
解释-
- 在步骤1中,我们初始化了一个字符串,我们想要替换其中的字符。
- 在此之后,我们显示了原始字符串,以便我们可以容易地理解它与预期输出之间的差异。
- 现在我们使用 replace() 并指定我们希望删除或更改的字符。
- 执行程序后,将显示所需的输出。
在第二个程序中,我们将看到如何使用 translate() 和 maketrans() 来完成相同的任务。用户必须记住,这仅适用于Python 2。
使用translate()和maketrans()
以下程序显示了如何完成此操作。
import string
#initializing the string
string_val='learnpythonlearn'
#displaying the string value
print("The initialized string is ",string_val)
#using translate() & maketrans()
res_str=string_val.translate(string.maketrans('le','el'))
#printing the resultant string
print("The string after replacing the characters is ",res_str)
输出:
The initialized string is learnpythonlearn
The string after replacing the characters is eearnpythoneearn
解释-
- 在步骤1中,我们初始化了一个字符串,我们想要替换其中的字符。
- 这之后,我们显示原始字符串,以便我们可以轻松理解它与预期输出之间的区别。
- 现在,我们使用 replace() 并指定我们希望删除或更改的字符。
- 在执行程序后,将显示期望的输出。
现在我们将讨论 re.subn() 如何帮助实现这一点。The subn() 返回一个新字符串,其中包含替换的总数。
使用re.subn()
下面的程序展示了如何做到这一点。
#importing the re module
import re
#initializing the string value
string_val = "To get the result 100, we can multiply 10 by 10"
#defining the function
def pass_str(string_val):
string_val, n = re.subn('[0-9]', 'A', string_val)
print (string_val)
#displaying the resultant value
pass_str(string_val)
输出:
To get the result AAA, we can multiply AA by AA
解释-
- 步骤1,我们导入了re模块,它将帮助我们使用所需的函数。
- 接下来,我们初始化了一个字符串,我们想要替换或删除其中的字符。
- 下一步是定义一个函数,它以字符串值作为参数。
- 在函数定义中,我们使用了 subn() 函数,它有三个参数。第一个参数是我们想要替换的模式,第二个参数是我们想要用什么元素或数字来替换它,第三个参数是字符串。
- 最后,末尾的打印语句显示处理后的字符串。
- 我们在最后传递了这个字符串,这样我们就得到了预期的输出。
在最后的程序中,我们将使用相同的方法使用 sub()
使用re.sub()
下面的程序说明了如何做到这一点-
#importing the re module
import re
#initializing the string value
string_val = "To get the result 100, we can multiply 10 by 10"
#defining the function
def pass_str(string_val):
string_val = re.sub('[0-9]', 'Z', string_val)
print(string_val)
#displaying the resultant value
pass_str(string_val)
输出:
To get the result ZZZ, we can multiply ZZ by ZZ
解释-
- 在步骤1中,我们导入了 re 模块,该模块将帮助我们使用所需的函数。
- 在此之后,我们初始化了一个要替换或删除其字符的字符串。
- 下一步是定义一个以字符串值为参数的函数。
- 在函数定义中,我们使用了 sub() 函数,该函数接受三个参数。第一个参数是要替换的模式,第二个参数是要替换为的元素或数字,第三个参数是字符串。
- 最后,在结尾处的打印语句显示处理后的字符串。
- 我们在最后传递了该字符串,以便获得预期的输出。
总结
在本教程中,我们学习了如何使用Python从字符串中删除多个字符。