6

私は Python プログラミングが初めてで、スラッシュ文字を含む文字列を削除しようとしています。期待される出力を達成する方法を教えてください。同じことを達成するための他の簡単な方法はありますか。

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

前もってありがとうヘマ

4

2 に答える 2

8

この.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'
于 2013-10-24T17:49:39.577 に答える
1

まずOS、どちらを使用しているかを確認する必要があります。

Linux/Unix の場合

通常、ファイル パスは次のように示されます。/

簡単に使用できます

>>>name = '/stack/overflow'

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

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

窓なら、

ただ使う

>>> name.split("/")
['', 'stack', 'overflow']
于 2013-10-24T18:06:08.323 に答える