如何去除包含正斜杠的字符串?

时间:2013-10-24 17:47:04

标签: python

我是python编程的新手,尝试去除包含正斜杠字符的字符串,我希望输出为'/ stack',但给出如下结果。你能帮助我如何实现预期的输出。还有其他任何简单的方法来实现同样的目标。

>>> name='/stack/overflow'
>>> sub ='/overflow'
>>> name.strip(sub)
'stack'

提前致谢 HEMA

2 个答案:

答案 0 :(得分:7)

.strip方法没有按照您的想法执行:

Docstring:
S.strip([chars]) -> string or unicode

Return a copy of the string S with leading and trailing
whitespace removed.
If chars is given and not None, remove characters in chars instead.
If chars is unicode, S will be converted to unicode before stripping

所以你正在做的是说“从这个字符串的开头或结尾删除/,o,v,e,r,f,l,o和w。”

相反,尝试拆分/,除了最后一个元素之外,重新加入:

In [12]: '/'.join("/stack/overflow".split('/')[:-1])
Out[12]: '/stack'

如果你真的只想删除子字符串'/ overflow',你可以这样做:

In [15]: "/stack/overflow".replace('/overflow', '')
Out[15]: '/stack'

答案 1 :(得分:0)

首先,您需要检查您正在使用的OS

如果是Linux / Unix

通常文件路径由/

表示

所以你可以简单地使用,

>>>name = '/stack/overflow'

>>>name.split(os.sep)  # Here os.sep is nothing but "/"

['', 'stack', 'overflow']

如果是窗户,

只需使用

>>> name.split("/")
['', 'stack', 'overflow']