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


我们将讨论如何在 Python 中从字符串中删除引号的不同方法。

在 Python 中使用replace()函数从字符串中删除双引号

replace()函数将字符串的给定部分替换为另一个子字符串。我们可以使用此函数从 Python 中的字符串中删除双引号。

为此,我们将在函数中提供双引号作为参数,以替换为空字符串。

请参阅下面的代码。

a1 = 'samp"le s"tring'
a2 = a1.replace('"','')
print(a2)

输出:

sample string

在 Python 中使用re.sub()函数从字符串中删除双引号

我们可以使用正则表达式模式来识别和替换使用该re.sub()函数的字符串的一部分。我们可以用正则表达式模式识别双引号并将它们替换为空字符串。

请参阅下面的代码。

import re
a1 = 'samp"le s"tring'
a2 = re.sub('"','',a1)
print(a2)

输出:

在 Python 中使用for循环从字符串中删除双引号

我们可以使用循环遍历字符串for并单独比较每个元素。如果元素不是双引号,那么我们将其附加到一个新字符串中。这个新字符串不会有双引号。

例如,

a1 = 'samp"le s"tring'
a2 = ''
for i in a1:
    if(i not in '"'):
        a2 = a2 + i
print(a2)

输出:

sample string

在 Python 中使用join()函数从字符串中删除双引号

join()函数将可迭代的元素组合为单个字符串。我们可以使用此函数从字符串中删除双引号。

首先,我们将使用列表推导创建字符串中所有字符的列表,将每个字符与双引号进行比较。然后,我们将使用该join()函数组合此列表中的元素以返回最终字符串。

a1 = 'samp"le s"tring'
a2 = ''.join(i for i in a1 if i not in '"')
print(a2)

输出:

sample string

在 Python 中使用strip()函数从字符串中删除双引号

我们使用strip()Python 中的函数从字符串的开头或结尾删除字符。如果引号存在于字符串的开头或结尾,我们可以使用此方法删除引号。

请参阅下面的代码。

a1 = '"sample string"'
a2 = a1.strip('\"')
print(a2)

输出:

在Python中使用该lstrip()函数从字符串中删除双引号

lstrip()函数可以从字符串的开头删除字符。使用此函数,我们可以删除字符串开头的双引号。

例如,

a1 = '"sample string'
a2 = a1.lstrip('\"')
print(a2)

在 Python 中使用rstrip()函数从字符串中删除双引号

此功能与上一个方法相反,从字符串末尾删除字符。它可以从字符串末尾删除双引号。

例如,

a1 = 'sample string"'
a2 = a1.rstrip('\"')
print(a2)

输出:

sample string

在 Python 中使用startswith()函数从字符串中删除双引号

在 Python 中,我们使用该startswith()函数来检查字符串是否以某个字符开头。我们可以使用此函数从字符串的开头删除双引号。

我们将检查字符串是否以双引号开头,如果返回 True,则对第一个字符进行切片。

请参阅下面的代码。

a1 = '"sample string'
if a1.startswith('"'):
    a2 = a1[1:]
print(a2)

输出:

sample string

在 Python 中使用endswith()函数从字符串中删除双引号

在 Python 中,我们使用该endswith()函数来检查字符串是否以某个字符结尾。我们可以使用此函数从字符串末尾删除双引号。

我们将检查字符串是否以双引号结尾,如果返回 True,则对最后一个字符进行切片。

请参阅下面的代码。

a1 = 'sample string"'
if a1.endswith('"'):
    a2 = a1[:-1]
print(a2)

输出:

sample string

在 Python 中使用eval()函数从字符串中删除双引号

仅当您在开头和结尾处有双引号作为引号时,此方法才有效。

eval()函数接受一个参数并将其作为 Python 表达式执行。因此,如果我们传递一个字符串并且它在开始和结束位置都有双引号,那么该eval()函数会将其作为普通字符串返回,并在此过程中删除双引号。

例如,

a1 = '"sample string"'
a2 = eval(a1)
print(a2)

输出:

sample string

但是,这种方法被认为是不安全的,不应用于不受信任的输入。

在 Python 中使用ast.Literal_Eval()函数从字符串中删除双引号

我们可以使用ast.literal_eval()类似于前面方法的功能。此函数被认为是该函数的更安全替代方案,eval()因为它只接受有效的 Python 数据类型。

我们可以使用它从 Python 中的字符串中删除双引号。

例如,

import ast
a1 = '"sample string"'
a2 = ast.literal_eval(a1)
print(a2)

输出:

sample string

在 Python 中使用json.Loads()函数从字符串中删除双引号

json.loads()函数将 JSON 字符串解析并反序列化为 Python 对象。我们可以通过将字符串传递给此函数来删除字符串中多余的双引号。

此功能也适用于与前一种方法类似的情况。双引号应该存在于字符串的开头和结尾。

例如,

import json
a1 = '"sample string"'
a2 = json.loads(a1)
print(a2)

输出:

sample string

在 Python 中从字符串中删除单引号

所有讨论的删除双引号的方法也可用于删除单引号。我们只需要在各自的方法中用单引号代替双引号。如果要在其中包含单引号,请记住用双引号定义字符串。

我们现在将在下面展示一些方法的示例。

在 Python 中使用join()函数从字符串中删除单引号

为此,我们将在列表推导中将双引号更改为单引号。我们将join()出于相同的目的并以相同的方式使用该功能。

请参阅下面的代码。

a1 = "samp'le s'tring"
a2 = ''.join(i for i in a1 if i not in "'")
print(a2)

输出:

sample string

在 Python 中使用replace()函数从字符串中删除单引号

如前所述,该replace()函数可以通过用空字符串替换单引号来从 Python 中的字符串中删除单引号。

例如,

a1 = "samp'le s'tring"
a2 = a1.replace("'",'')
print(a2)

输出:

sample string

re.sub()函数的工作方式也类似,但使用正则表达式模式来检测引号。

例如,

import re
a1 = "samp'le s'tring"
a2 = re.sub("'",'',a1)
print(a2)

在 Python 中使用strip()函数从字符串中删除单引号

使用该strip()函数,我们可以删除字符串开头或结尾的单引号。

例如,

a1 = "'sample string'"
a2 = a1.strip("\'")
print(a2)

输出:

sample string

在 Python 中从 CSV 中删除引号

现在让我们了解如何在从 CSV 文件中读取数据时删除引号。

在 Python 中使用csv.reader()函数从 CSV 中删除引号。

CSV 是一个简单的逗号分隔文件。open()我们可以使用Python中的函数读取 CSV 文件。该csv.reader()文件可以将 CSV 文件的内容解析为行。

函数中有一个quotechar参数csv.reader()。使用它,我们可以指定用作 CSV 文件中值的引号的字符。因此,在用 Python 读取文件后,它们将被删除。

例如,如果我们正在读取以下 CSV 文件。

"name","age"
"java2blog","15"

然后在使用上述方法读取文件后,引号将被删除。

请参阅下面的代码

import csv
with open('csvsample.csv', 'r') as f:
    s= csv.reader(f, delimiter=',', quotechar = '"')
    for i in s:
        for j in i:
            print(j)

输出:

name
age
java2blog
15

我们已经单独显示了每个值,我们可以观察到看不到任何报价。

在 Python 中使用pandas.read_Csv()函数从 CSV 中删除引号

另一种方法是将文件读入 Python 中的 DataFrame。我们将使用该pandas.read_csv()函数读取文件并将其内容存储在 DataFrame 中。引号将以这种方式被删除。

例如,

import pandas as pd
df = pd.read_csv('csvsample.csv')
print(df)
name age
0 java2blog 15

从 Python 中的数据框中删除引号

DataFrame 以行和列的形式组织数据。我们可以拥有存储字符串值的列。我们将讨论如何删除 DataFrame 中值的引号。

在 Python 中使用pandas.str.replace()函数从数据框中删除引号

pandas.str.replace()函数可以替换Series对象中的字符。它使用正则表达式来替换字符。

我们可以使用此功能删除引号。我们将用空字符串替换它们。

请参阅下面的代码。

import pandas as pd
df = pd.DataFrame({'A': ['"hello"', 'h"i', 'he"y"']})
df['A'] = df['A'].str.replace('"',"")
print(df)

输出:

A
0 hello
1 hi
2 hey

结论

在本文中,我们讨论了如何在 Python 中从字符串中删除引号。我们处理了许多在 Python 中从字符串中删除双引号的方法。所有方法也可以用于单引号。我们还讨论了如何在读取 CSV 文件并将它们从 DataFrames 中删除时避免使用引号。

这就是关于如何在 Python 中从字符串中删除引号的全部内容。


原文链接:https://codingdict.com/