我想检查给定的字符串是单引号还是双引号。如果是单引号,我想把它转换为双引号,否则它必须是相同的双引号。
将单引号字符串转换为双引号字符串
在Python中,"单引号 "和 "双引号 "字符串之间没有区别。 两者都在内部被解析为字符串对象。
我的意思是。
a = "European Swallow"
b = 'African Swallow'
内部是字符串对象。
然而,你的意思可能是在一个字符串对象中添加一个额外的引号,以便在打印/导出时,内容本身显示为引号?
c = "'Unladen Swallow'"
如果你在一个字符串里面有一个混合引号,比如。
a = """ Merry "Christmas"! Happy 'new year'! """
然后你可以使用 "替换 "方法将它们全部转换成一种类型。
a = a.replace('"', "'")
如果你碰巧有嵌套的字符串,那么先把现有的引号替换成转义引号,然后再替换其他的引号。
a = """This is an example: "containing 'nested' strings" """
a = a.replace("'", "\\\'")
a = a.replace('"', "'")
Kumar
:
谢谢你,首先,我正在动态地获取单引号字符串和双引号字符串,并且正在使用urljoin(dublequote,singlequote),所以在这里我面临的问题是,输出是两者的组合,但我需要它是单一的。
CKM
:
当使用
json
时,在
' '
和
" ".
中的字符串有很大的区别
CKM
:
json.dumps('dog')
将
'"dog"'
输出到文件中,但我想要
"dog"
。如何做到这一点?
jsbueno
:
json.dumps
创建了一个Python字符串--如果你在交互式模式下查看它,你会看到 "dog "周围有额外的引号--但是如果你把它写到一个文件中(或者直接使用
json.dump
,会使用单层引号。如果你需要零引号,你应该在json序列化后手动剥离它们。
@jsbueno 是的,但是json.load('dog')会抱怨单引号,因为它期望的是双引号的字符串(这也是rfc7159中的定义)。
MadsVJ
发布于
2021-11-27
0
人赞同
听起来你是在用JSON工作。我只需确保它始终是一个双引号,像这样。
doubleQString = "{0}".format('my normal string')
with open('sampledict.json','w') as f:
json.dump(doubleQString ,f)
Notice I'm using dump, not dumps.
Sampledict.json will look like this:
"my normal string"
Brian R. Bondy
发布于
2021-11-27
0
人赞同
区别只是在输入方面。 它们是一样的。
s = "hi"
t = 'hi'
s == t
你甚至可以这样做。
"hi" == 'hi'
提供这两种方法很有用,因为你可以让你的字符串直接包含'或"而不需要转义。
KocT9H
发布于
2021-11-27
0
人赞同
在我的案例中,我需要打印
list
in
json
格式。
这对我来说很有效。
f'''"inputs" : {str(vec).replace("'", '"')},\n'''
Output:
"inputs" : ["Input_Vector0_0_0", "Input_Vector0_0_1"],
之前没有更换。
f'"inputs" : {vec},\n'
"inputs" : ['Input_Vector0_0_0', 'Input_Vector0_0_1'],
Ben Hayden
发布于
2021-11-27
0
人赞同
在 Python 中,单引号或双引号的字符串是没有区别的,所以我不知道你为什么要这样做。然而,如果你实际上是指字符串中的单引号字符,那么为了用双引号替换它们,你应该这样做。【替换代码0
I like
string.replace("'", '"')
slightly better—it has a nice alternating pattern of quotes in it :-).
Kumar
:
谢谢你,首先,我正在动态地获取单引号字符串和双引号字符串,并且正在使用urljoin(dulequote,singlequote),所以在这里我面临的问题是,输出是两个组合。非常感谢你
谢谢你回答了这个问题,而不是详细介绍python如何解释引号。 我有一个用例,一个文件需要把它的双引号替换成单引号,这样它就可以被传递到另一种对引号类型敏感的语言中。
Bruno Castro
发布于
2021-11-27
0
人赞同
实际上,据我所知,上面的答案都没有回答这个问题,这个问题是如何将单引号字符串转换为双引号的,不管对Python来说是否可以互换,一个人可以用Python自动生成代码,而不是。
一个例子是试图生成一个SQL语句,其中使用哪些引号可能非常重要,此外,双引号和单引号之间的简单替换可能不那么简单(即,你可能有双引号括在单引号里)。
print('INSERT INTO xx.xx VALUES' + str(tuple(['a',"b'c",'dfg'])) +';')