从 Python 字符串中删除多个字符

从 Python 字符串中删除多个字符

我们已经知道字符串是由字符序列定义的,可以对它们执行各种操作。

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

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

我们列出了以下方法,我们将学习满足我们目标的方法。

  1. 使用 嵌套的 replace()
  2. 使用 translate()maketrans()
  3. 使用 subn()
  4. 使用 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. 在步骤1中,我们初始化了一个字符串,我们想要替换其中的字符。
  2. 在此之后,我们显示了原始字符串,以便我们可以容易地理解它与预期输出之间的差异。
  3. 现在我们使用 replace() 并指定我们希望删除或更改的字符。
  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. 在步骤1中,我们初始化了一个字符串,我们想要替换其中的字符。
  2. 这之后,我们显示原始字符串,以便我们可以轻松理解它与预期输出之间的区别。
  3. 现在,我们使用 replace() 并指定我们希望删除或更改的字符。
  4. 在执行程序后,将显示期望的输出。

现在我们将讨论 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. 步骤1,我们导入了re模块,它将帮助我们使用所需的函数。
  2. 接下来,我们初始化了一个字符串,我们想要替换或删除其中的字符。
  3. 下一步是定义一个函数,它以字符串值作为参数。
  4. 在函数定义中,我们使用了 subn() 函数,它有三个参数。第一个参数是我们想要替换的模式,第二个参数是我们想要用什么元素或数字来替换它,第三个参数是字符串。
  5. 最后,末尾的打印语句显示处理后的字符串。
  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. 在步骤1中,我们导入了 re 模块,该模块将帮助我们使用所需的函数。
  2. 在此之后,我们初始化了一个要替换或删除其字符的字符串。
  3. 下一步是定义一个以字符串值为参数的函数。
  4. 在函数定义中,我们使用了 sub() 函数,该函数接受三个参数。第一个参数是要替换的模式,第二个参数是要替换为的元素或数字,第三个参数是字符串。
  5. 最后,在结尾处的打印语句显示处理后的字符串。
  6. 我们在最后传递了该字符串,以便获得预期的输出。

总结

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

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程