0
Python 2.7.3 (default, Apr 20 2012, 22:44:07) 
[GCC 4.6.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.  

>>> s = "www.example.com/help"
>>> s.strip('/')
>>> 'www.example.com/help'    #expected 'www.example.comhelp'
>>> t = "/blah/blah/"
>>> t.strip('/')
>>> 'blah/blah'    #expected 'blahblah'
>>> s.strip('w.')
>>> 'example.com/help'    #expected 'examplecom/help'
>>> f = 'www.example.com'
>>> f.strip('.')
>>> 'www.example.com'    #expected 'wwwexamplecom'
>>> f.strip('comw.')
>>> 'example'    #as expected

str.strip が約束どおりに機能しないように見える理由を誰か説明してもらえますか?

ドキュメントから:

str.strip([文字])

先頭と末尾の文字が削除された文字列のコピーを返します。chars 引数は、削除する文字セットを指定する文字列です。省略された場合、または None の場合、chars 引数はデフォルトで空白を削除します。chars 引数はプレフィックスまたはサフィックスではありません。むしろ、その値のすべての組み合わせが取り除かれます。

4

3 に答える 3

17

str.strip([文字])

先頭と末尾の文字が削除された文字列のコピーを返します。

これを使用して、任意の文字列を置き換えます。

s.replace('/', '')
于 2012-08-02T10:24:39.053 に答える
8

strip は先頭と末尾の文字のみを削除します。

以下を使用することをお勧めします。

s.replace('/', '')

代わりは。

于 2012-08-02T10:28:58.077 に答える
3

そうするもう1つの方法

    In [19]: s = 'abc.com/abs'
    In [29]: exclude = '/'
    In [31]: s = ''.join(ch for ch in s if ch not in exclude)
    In [32]: s
    Out[32]: 'abc.comabs'
于 2012-08-02T10:35:02.447 に答える