Python:在导入的字符串中查找反斜杠

时间:2012-07-16 22:55:17

标签: python string backslash

我正在尝试剪切导入字符串中的第一个短语,该字符串始终采用以下形式:

"\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分钟的工作!

3 个答案:

答案 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)

你不能将'\'作为字符串的最后一个字符,即使它是一个原始字符串 - 它需要写成'\\' - 事实上,如果你看看你的问题,你就是'我会看到突出显示有点不稳定 - 尝试按照建议更改它,它可能会纠正自己......