私は Python プログラミングが初めてで、スラッシュ文字を含む文字列を削除しようとしています。期待される出力を達成する方法を教えてください。同じことを達成するための他の簡単な方法はありますか。
>>> name='/stack/overflow'
>>> sub ='/overflow'
>>> name.strip(sub)
'stack'
前もってありがとうヘマ
私は Python プログラミングが初めてで、スラッシュ文字を含む文字列を削除しようとしています。期待される出力を達成する方法を教えてください。同じことを達成するための他の簡単な方法はありますか。
>>> name='/stack/overflow'
>>> sub ='/overflow'
>>> name.strip(sub)
'stack'
前もってありがとうヘマ
この.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'
まずOS
、どちらを使用しているかを確認する必要があります。
Linux/Unix の場合
通常、ファイル パスは次のように示されます。/
簡単に使用できます
>>>name = '/stack/overflow'
>>>name.split(os.sep) # Here os.sep is nothing but "/"
['', 'stack', 'overflow']
窓なら、
ただ使う
>>> name.split("/")
['', 'stack', 'overflow']