2009-12-15 366 views
15

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

+3

我不认为每个人都解释了你的问题,你希望的方式。这些字符串是否包含这些单引号和双引号*作为内容的一部分*?解释你的问题的最好方法是包括一些你有什么输入,你想如何显示输出的例子等等。如果可能的话,从实际的Python控制台会话中复制并粘贴,这样就不会有我们可以误解你的意思。 –

回答

5

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

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

你甚至可以这样做:

"hi" == 'hi' 

提供了这两种方法是有用的,因为你可以例如有您的字符串直接包含'"而不会转义。

+0

同样,经常引用的字符串('“foo”')和三引号字符串('“”“foo”“”')也没有区别。 –

+0

@Brain'json.dumps('dog')''输出''“狗”''到文件但我想''狗'''。怎么做? – chandresh

10

有“双引号” strigns Python中的“单引号”,并没有区别: 都在内部解析字符串对象。

我的意思是:

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

内部是String对象。

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

c = "'Unladen Swallow'" 

啊 - 定的clarifciation(张贴由库马尔commetn,波纹管):

如果你有一个字符串引号内的混合,如:

一个=“””风流‘圣诞节’!快乐“新年“””

然后你就可以使用‘替代’的方法,那么所有转换成一个类型:

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

如果你碰巧有嵌套的字符串,然后更换冷杉T中的现有引号转义引号,后来otuer报价:

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

谢谢先 其实我得到的单引号字符串,双引号的字符串 动态也正在使用urljoin(dublequote,singlequote) 所以我在这里面临的问题的输出是两者结合 ,但我需要它作为一个 – Kumar

+3

当使用'json',它使一个字符串之间的差异很多'”''和'”” .' – chandresh

+1

'json.dumps(‘狗’)''OUPUTS‘‘狗’’'到该文件,但我想' “狗”'。怎么做? – chandresh

2

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

+1

我喜欢'与string.replace(“'”,““”)'稍好—它有一个很好的交流模式在它的报价:-)。 –

+0

感谢ü这么多谢谢先其实我得到的单引号串,所以我在这里面对的双引号中的字符串动态也正在使用urljoin(dublequote,singlequote)问题的输出是两者结合。 .. 感谢ü回答这个问题,而不是进入了Python如何解释的报价非常细致非常 – Kumar

+0

感谢。我有一个地方文件所需的双引号重新使用案例放置单引号,以便它可以传递到对报价类型敏感的另一种语言。 –

6

听起来像您正在使用json。我只想确保它始终是quouted这样的双:

doubleQString = "{0}".format('my normal string') 
with open('sampledict.json','w') as f: 
    json.dump(doubleQString ,f) 

通知我使用dumpdumps

Sampledict.json将这个样子:

"my normal string" 
相关问题