Python带有奇怪的字符串处理问题

时间:2012-07-29 23:24:32

标签: python string strip

任何人都可以向我解释以下行为吗?这没有任何意义。

我有一个字符串:

In [170]: t = "c:\\website\\site-env\\scripts"

我尝试从前面删除“c:\ website”,但它不起作用:

In [171]: t.strip("c:\\website")
Out[171]: '-env\\scrip'

我稍微备了一下,看看它在哪里打破:

In [172]: t.strip("c:\\websi")
Out[172]: 'te\\site-env\\script'

出于某种原因,它发生在“t”之后!

In [173]: t.strip("c:\\websit")
Out[173]: '-env\\scrip'

有什么想法吗?我很难过。

1 个答案:

答案 0 :(得分:10)

strip使用字符,而不是字符串。例如,"abcdefg".strip("facedb")会产生"g"。改为使用切片:

t[len(r'c:\website'):] if t.startswith(r'c:\website') else t