如何在 Python 中从字符串中删除引号

介绍

有几种方法可以从 Python 中的字符串中删除引号。 您可能需要删除所有引号或仅删除字符串周围的引号。 您可能还需要删除单引号或双引号。

在这篇简短的文章中,我们编译了一个完整的方法列表,您可以使用这些方法从 Python 中的字符串中删除引号。 使用哪一个完全取决于您。 请注意,我们在此处列出的解决方案不是从好到坏排序的。 只要满足您在特定情况下的需求,每个解决方案都很好。

如何在 Python 中从字符串中删除所有引号

首先,让我们看一下如何从字符串中删除所有引号。 本节中列出的解决方案可以更改为使用单引号和双引号。 但是,就本文而言,假设我们有一个示例字符串,其中包含三个双引号:

example_str = '"This is a string" with quotes"'

在本节中,我们将看看如何删除所有 " 来自 example_str.

海峡替换()

我们将讨论的第一种方法是使用 str.replace() 上的方法 example_str. 它接受两个参数——我们要替换的字符串和替换字符串。 在这种情况下,我们将替换双引号 (") 带有一个空字符串:

new_str = example_str.replace('"', '')
print(new_str) 

str.replace() 以这种方式使用将删除所有双引号 example_str.

常用表达

这种方法使用 正则表达式 从字符串中删除所有引号。 在我们开始在 Python 中使用正则表达式之前,我们首先需要导入 re 模块:

import re

之后,我们可以使用 re.sub() 方法 替代 所有出现的带空字符串的引号:

new_str = re.sub('"', '', example_str)
print(new_str) 

这将给我们 example_str 没有任何引号。

海峡加入()

str.join() 是我们可以用来从 Python 中的字符串中删除所有引号的另一种方法。 如果您还不熟悉 join() 方法。 我们将基本上复习 example_str 逐个字符并将每个不是引号的空字符串附加到空字符串中。 这样,我们就能得到 example_str 没有任何引号:

new_str = ''.join(c for c in example_str if c not in '"')
print(new_str) 

如何删除字符串周围的引号

到目前为止,我们一直在讨论如何删除的几种方法 所有 Python中字符串的引号。 这只是从字符串中删除引号的一种方法。 可以说,更常见的问题是如何去除 仅在字符串周围加上引号。 str.strip() 方法旨在做到这一点。 因此,我们将讨论 str.strip() 本节中的方法。

说我们有相同的确切 example_str 和上一节一样,我们只想删除第一个和最后一个引号:

example_str = '"This is a string" with quotes"'

使用 str.strip() 使用双引号作为其参数将删除前导引号和尾随引号 example_str:

查看我们的 Git 学习实践指南,其中包含最佳实践、行业认可的标准以及随附的备忘单。 停止谷歌搜索 Git 命令,实际上 学习 它!

new_str = example_str.strip('"')
print(new_str) 

请注意: 无论字符串中有多少个前导和/或前导引号, str.strip() 将删除所有这些。

除了通常 str.strip() 方法,还有它的两个派生词—— str.lstrip()str.rstrip(). 第一个删除 所有领先的报价,第二个删除 所有尾随引号:

new_str = example_str.lstrip('"')
print(new_str) 

new_str = example_str.rstrip('"')
print(new_str) 

结论

在这篇简短的文章中,我们全面了解了如何在 Python 中从字符串中删除引号。 首先,我们已经解释了如何使用几种不同的方法从字符串中删除所有引号 - str.replace(), str.join()re.sub(). 之后,我们看了一下 str.strip() 方法,以及它的衍生物 str.lstrip()str.rstrip().

时间戳记:

更多来自 堆栈滥用