【发布时间】:2020-06-20 12:08:51
【问题描述】:
string="\"
这会给出错误 SyntaxError: EOL while scanning string literal
srring=r"\" 也不起作用
【问题讨论】:
标签: python-3.x eol
string="\"
这会给出错误 SyntaxError: EOL while scanning string literal
srring=r"\" 也不起作用
【问题讨论】:
标签: python-3.x eol
你可以这样写:
string="\\"
第一个转义后者并防止它转义文字的末尾。
来自 cmets 的第二个问题:
写一个这样的函数:
def find(s, ch):
return [i for i, ltr in enumerate(s) if ltr == ch]
然后用你的字符串调用它:
s=r"w:/a\bc::/12\xy"
find(s, "\\")
将打印出来
[4, 12]
【讨论】:
只需将反斜杠加倍:
inp = "Jon\\Skeet"
print(inp)
打印出来:
Jon\Skeet
这里的问题是反斜杠是一个控制字符,\" 出现在由双引号分隔的字符串中意味着文字双引号。
如果你想用反斜杠拆分上面的字符串,那么使用split():
parts = inp.split("\\")
print(parts)
['Jon', 'Skeet']
【讨论】: