我想检查给定的字符串是单引号还是双引号。如果它是单引号我想将它转换为双引号,否则它必须是相同的双引号。
答案 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'],