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

bli*_*ile 2 python string strip

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

我有一个字符串:

In [170]: t = "c:\\website\\site-env\\scripts"
Run Code Online (Sandbox Code Playgroud)

我尝试从前面剥离"c:\ website",但它不起作用:

In [171]: t.strip("c:\\website")
Out[171]: '-env\\scrip'
Run Code Online (Sandbox Code Playgroud)

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

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

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

In [173]: t.strip("c:\\websit")
Out[173]: '-env\\scrip'
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?我很难过.

Ry-*_*Ry- 10

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

t[len(r'c:\website'):] if t.startswith(r'c:\website') else t
Run Code Online (Sandbox Code Playgroud)

  • t = t.replace(r'c:\ website','',1)更简单 (2认同)