2

谁能向我解释以下行为?这没有任何意义。

我有一个字符串:

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'

有任何想法吗?我难住了。

4

1 回答 1

10

strip使用字符,而不是字符串。例如,"abcdefg".strip("facedb")将导致"g". 改用切片:

t[len(r'c:\website'):] if t.startswith(r'c:\website') else t
于 2012-07-29T23:26:04.673 回答