您的位置:

在 Python 中删除字符串中的多个字符

我们已经知道字符串被定义为一系列字符,我们可以对它们执行各种操作。

在本教程中,我们将学习一个更有趣的任务,它可以使用 Python 中的字符串来完成。

在这里,我们将看到如何从中删除多个字符。

我们在下面列出了我们将学习的方法,以实现我们的目标。

  1. 使用嵌套替换()
  2. 使用翻译() & 制作 trans()
  3. 使用子节点()
  4. 使用 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

解释-

  1. 在第一步中,我们已经初始化了要替换其字符的字符串。
  2. 在此之后,我们显示了原始字符串,这样我们就可以很容易地理解这和预期输出之间的区别。
  3. 现在我们已经使用替换()并指定了我们希望移除或更改的字符。
  4. 在执行程序时,会显示所需的输出。

在第二个程序中,我们将看到如何使用 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. 在第一步中,我们已经初始化了要替换其字符的字符串。
  2. 在此之后,我们显示了原始字符串,这样我们就可以很容易地理解这和预期输出之间的区别。
  3. 现在我们已经使用替换()并指定了我们希望移除或更改的字符。
  4. 在执行程序时,会显示所需的输出。

现在我们将讨论 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

解释-

  1. 在第一步中,我们已经导入了 re 模块,它将帮助我们使用所需的功能。
  2. 在此之后,我们已经初始化了我们想要替换或删除其字符的字符串。
  3. 下一步是定义一个以字符串值为参数的函数。
  4. 在函数定义中,我们使用了 subn() 取三个参数。第一个参数是我们希望替换的模式,第二个参数是我们希望用什么元素或数字来替换它,第三个参数是字符串。
  5. 最后,结尾的 print 语句显示了处理后的字符串。
  6. 我们在最后传递了这个字符串,这样我们就得到预期的输出。

在最后一个程序中,我们将使用 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 模块,它将帮助我们使用所需的功能。
  2. 在此之后,我们已经初始化了我们想要替换或删除其字符的字符串。
  3. 下一步是定义一个以字符串值为参数的函数。
  4. 在函数定义中,我们使用了取三个参数的 sub() 。第一个参数是我们希望替换的模式,第二个参数是我们希望用什么元素或数字来替换它,第三个参数是字符串。
  5. 最后,结尾的 print 语句显示了处理后的字符串。
  6. 我们在最后传递了这个字符串,这样我们就得到预期的输出。

结论

在本教程中,我们学习了如何使用 Python 从字符串中删除多个字符。