2016-10-15 17 views
-1
>>> adf = "123 ABCD#" 
>>> df = "<ABCD#>" 
>>> adf.strip(df) 
>>> '123 ' 
>>> xc = "dfdfd ABCD#!" 
>>> xc.strip(df) 
>>> 'dfdfd ABCD#!' 

なぜstrip()がadfでABCD#を取り出すのですか? ストリップは "<"と ">"を完全に無視しますか?元の文字列に "<"と ">"がない場合、文字が削除されるのはなぜですか?strip()の奇妙な動作

+0

なぜ重要ですか? – user3837980

+0

''www.example.com'.strip( 'cmowz。<>')'を取り除くのに使用される文字はセットです。文字列の両端の文字は、削除できなくなるまで削除されます。 – dawg

+0

よく質問される前に、[docs](https://docs.python.org/3/library/stdtypes.html#str.strip)を読んで人を殺すでしょうか? – ShadowRanger

答えて

1

メソッドstrip()は、文字列の先頭と末尾(すべての文字がデフォルトの空白文字)から削除された文字列のコピーを返します。

dfにある文字は、末尾にadfという文字列があります。最初の文字と最後の文字がどこにあるかは、文字列xcの場合とは異なります。 d。

str.strip([chars]); =>最後の索引または最初の索引で文字内にstrの文字がある場合、その文字はstrから取り除かれます。それからもう一度チェックします。文字が取り除かれていないときは停止します。

+0

dfの "<" and ">"部分は無視されますか? – user3837980

+0

文字列adfには "<" or ">"が含まれていないので、この場合は無視されます。 – Raza

+0

ありがとう、言い換えれば、strip()は[chars]の中の個々の文字を探し、それらを文字列の先頭と末尾から削除しますか?正しい? – user3837980