我们已经知道字符串被定义为一系列字符,我们可以对它们执行各种操作。
在本教程中,我们将学习一个更有趣的任务,它可以使用 Python 中的字符串来完成。
在这里,我们将看到如何从中删除多个字符。
我们在下面列出了我们将学习的方法,以实现我们的目标。
- 使用嵌套替换()
- 使用翻译() & 制作 trans()
- 使用子节点()
- 使用 sub()
使用嵌套替换()
在下面给出的程序中,我们将看到如何使用 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
解释-
- 在第一步中,我们已经初始化了要替换其字符的字符串。
- 在此之后,我们显示了原始字符串,这样我们就可以很容易地理解这和预期输出之间的区别。
- 现在我们已经使用替换()并指定了我们希望移除或更改的字符。
- 在执行程序时,会显示所需的输出。
在第二个程序中,我们将看到如何使用 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
解释-
- 在第一步中,我们已经初始化了要替换其字符的字符串。
- 在此之后,我们显示了原始字符串,这样我们就可以很容易地理解这和预期输出之间的区别。
- 现在我们已经使用替换()并指定了我们希望移除或更改的字符。
- 在执行程序时,会显示所需的输出。
现在我们将讨论 re.subn() 如何成为这方面的辅助。 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
解释-
- 在第一步中,我们已经导入了 re 模块,它将帮助我们使用所需的功能。
- 在此之后,我们已经初始化了我们想要替换或删除其字符的字符串。
- 下一步是定义一个以字符串值为参数的函数。
- 在函数定义中,我们使用了 subn() 取三个参数。第一个参数是我们希望替换的模式,第二个参数是我们希望用什么元素或数字来替换它,第三个参数是字符串。
- 最后,结尾的 print 语句显示了处理后的字符串。
- 我们在最后传递了这个字符串,这样我们就得到预期的输出。
在最后一个程序中,我们将使用 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
解释-
- 在第一步中,我们已经导入了 re 模块,它将帮助我们使用所需的功能。
- 在此之后,我们已经初始化了我们想要替换或删除其字符的字符串。
- 下一步是定义一个以字符串值为参数的函数。
- 在函数定义中,我们使用了取三个参数的 sub() 。第一个参数是我们希望替换的模式,第二个参数是我们希望用什么元素或数字来替换它,第三个参数是字符串。
- 最后,结尾的 print 语句显示了处理后的字符串。
- 我们在最后传递了这个字符串,这样我们就得到预期的输出。
结论
在本教程中,我们学习了如何使用 Python 从字符串中删除多个字符。