取这个变量
str = 'how{"to\"get\"this"}position'
我想得到字符串\"
的位置,它应该是7
print str.find('\"')
返回4,因为转义字符。
print str.find('\"')
或('\')
或(r'\')
,返回-1,无结果
那么我应该用什么来获得正确的结果?
实际的字符串是' [{...," HTML":"< spanclass = \" icon-pitisscon-service-duliag \">",....}]' ,它是一个json格式的字符串, 由于\"我无法使用json.loads()函数,我该怎么办?感谢
答案 0 :(得分:1)
str
为how{"to"get"this"}position
,其中没有\"
;因此find(r'\"')
将返回-1
>>> str = 'how{"to\"get\"this"}position'
>>> str
'how{"to"get"this"}position'
>>>
如果你想要str = how{"to\"get\"this"}position
那么;
>>> str = r'how{"to\"get\"this"}position'
>>> str
'how{"to\\"get\\"this"}position'
>>> str.find(r'\"')
7
>>>
答案 1 :(得分:0)
您存储了错误的字符串(Escape missing)。对于您已存储的字符串,如果您通过print str
打印来检查str,则会获得how{"to"get"this"}position
,这就是您的搜索失败的原因。搜索字符串也应该正确转义。
正确的方法是
str = 'how{"to\\"get\\"this"}position'
print str.find('\\"')`