我正在尝试剪切导入字符串中的第一个短语,该字符串始终采用以下形式:
"\first phrase\\...\ ... "
第一个短语可以是任意长度,由多个单词组成
我最初尝试的代码是:
phrase = s[1:s.find('\',1,len(s))]
显然不起作用。
r'\'
将无法编译(返回EOL错误)。
以下内容的变化:r'\\\'; r'\\\\\\\', "\\\", "\\\\\\\""
解析为:phrase = s[1:-1]
。
由于第一个角色总是反斜杠,我也尝试过:
phrase = s[1:find(s[0:1],1,len(s))], but it wasn't having any of it.
任何建议都表示赞赏,这应该是一个10分钟的工作!
答案 0 :(得分:7)
字符串文字中的反斜杠需要转义。
'\\'
答案 1 :(得分:5)
我只使用split命令,它可以轻松处理您的多字要求:
>>> s='\\first phrase\\second phrase\\third phrase\\'
>>> print s
\first phrase\second phrase\third phrase\
>>> s.split('\\')
['', 'first phrase', 'second phrase', 'third phrase', '']
>>> s.split('\\')[1]
'first phrase'
诀窍是确保反斜杠被反斜杠转义
这就是为什么你要搜索或分裂的原因\\
。
答案 2 :(得分:1)
你不能将'\'作为字符串的最后一个字符,即使它是一个原始字符串 - 它需要写成'\\'
- 事实上,如果你看看你的问题,你就是'我会看到突出显示有点不稳定 - 尝试按照建议更改它,它可能会纠正自己......