我一直试图用反斜杠单引号替换单引号。
我一直在尝试此操作,但是它导致带有两个反斜杠和单引号的字符串,或者没有任何反斜杠和单引号的字符串。
re.sub("'","\'","Newton's method")
以上结果在O / P中:
Newton's method
当
re.sub("'","\\'","Newton's method")
导致Newton\\'s method
我需要
Newton\'s method
作为输出。任何帮助表示赞赏。
更新:
这是一个在解析后创建并使用html形式传递的字符串。在这里
"Newton's method"
会导致问题,因为它会在get请求之后使json变形。{'1': u'Newton metre', '0': u'Newton', '3': u'Newton (unit)', '2': u'Newton Centre, Massachusetts', '5': u'NewtonCotes formulas', '4': u'.30 Newton', '7': u'Newton Highlands, Massachusetts', '6': u"Newton's method", '9': u'List of things named after Isaac Newton', '8': u'Bill Newton'}
html表单通过get请求获取此信息,而后端则错误地获取它。
{'1': u'Newton metre', '0': u'Newton', '3': u'Newton (unit)', '2': u'Newton Centre, Massachusetts', '5': u'NewtonCotes formulas', '4': u'.30 Newton', '7': u'Newton Highlands, Massachusetts', '6': u
最佳答案
您需要转义\
或使用原始字符串文字:
>>> re.sub("'", "\\'","Newton's method")
"Newton\\'s method"
>>> re.sub("'", r"\'","Newton's method")
"Newton\\'s method"
顺便说一句,在这种情况下,您不需要使用正则表达式。
str.replace
就足够了:>>> "Newton's method".replace(r"'", r"\'")
"Newton\\'s method"
更新
\\
是python repr
在字符串中表示反斜杠字符的一种方式。如果打印字符串,您将看到它是一个\
。>>> "Newton\\'s method"
"Newton\\'s method"
>>> print("Newton\\'s method")
Newton\'s method
关于python - 在Python中用反斜杠单引号替换单引号,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34396268/