将单引号字符串转换为双引号字符串

时间:2009-12-15 12:06:37

标签: python string

我想检查给定的字符串是单引号还是双引号。如果它是单引号我想将它转换为双引号,否则它必须是相同的双引号。

5 个答案:

答案 0 :(得分:13)

Python中“single quoted”和“double quoted”strigns之间没有区别: 两者都在内部解析为字符串对象。

我的意思是:

a = "European Swallow"
b = 'African Swallow'

是内部字符串对象。

但是,您可能需要在字符串对象中添加额外引用,以便在打印/导出时内容本身显示引用?

c = "'Unladen Swallow'" 

啊 - 鉴于澄清(由Kumar发布为commetn,bellow):

如果您在字符串中混合使用引号,例如:

a =“”“风流”圣诞节“!快乐'新年'!”“”

然后您可以使用“替换”方法将所有转换为一种类型:

a = a.replace('"', "'") 

如果您碰巧有嵌套字符串,那么先将现有引号替换为转义引号,然后再将otuer引用:

a = """This is an example: "containing 'nested' strings" """
a = a.replace("'", "\\\'")
a = a.replace('"', "'")

答案 1 :(得分:9)

听起来你正在和json合作。我会确保它总是像这样双重调整:

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View root = inflater.inflate(R.layout.fragment_main, container,
  false);

View something = root .findViewById(R.id.something);
something.setOnClickListener(new View.OnClickListener() { ... });

return root;
}

请注意我使用的是doubleQString = "{0}".format('my normal string') with open('sampledict.json','w') as f: json.dump(doubleQString ,f) 不是 dump

dumps将如下所示:

Sampledict.json

答案 2 :(得分:5)

区别仅在于输入。他们是一样的。

s = "hi"
t = 'hi'
s == t
  

你甚至可以这样做:

"hi" == 'hi'
  

提供这两种方法很有用,因为您可以让您的字符串直接包含'"而无需转义。

答案 3 :(得分:3)

在Python中,单引号或双引号的字符串之间没有区别,所以我不知道你为什么要这样做。但是,如果您实际上是指字符串中的单引号字符,那么要用双引号替换它们,您可以这样做:mystring.replace('\'', '"')

答案 4 :(得分:0)

就我而言,我需要以 json 格式打印列表。 这对我有用:

f'''"inputs" : {str(vec).replace("'", '"')},\n'''

输出:

"inputs" : ["Input_Vector0_0_0", "Input_Vector0_0_1"],

在不进行替换之前:

f'"inputs" : {vec},\n'

"inputs" : ['Input_Vector0_0_0', 'Input_Vector0_0_1'],