带strip的Python奇怪字符串处理问题
有人能给我解释一下下面的行为吗?这没有任何意义 我有一个字符串:带strip的Python奇怪字符串处理问题,python,string,strip,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'
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”之后
有什么想法吗?我被难住了。
strip
使用字符,而不是字符串。例如,“abcdefg”.strip(“facedb”)
将导致“g”
。改用切片:
t[len(r'c:\website'):] if t.startswith(r'c:\website') else t
你真的。。。阅读文档?您可以在pythonshell.Doh中执行
帮助(“.strip)
!我应该仔细阅读一下文件。Thank.t=t.replace(r'c:\website','',1)对于第三个参数是非常简单的,它只会从左到右替换第一个参数。在这种情况下,这就足够了。但原则上你是对的;这两种解决方案在逻辑上是不同的。
t[len(r'c:\website'):] if t.startswith(r'c:\website') else t