2016-07-14 4 views
0

私は次のような文字列を持っています:st= 'Product=Product Name 25' lstripしたいですか?出力は希望:このためout= 'Product Name 25'Python:lstripを使用して文字列から単語を削除してください

を私はout= 'Name 25' .This私はしたくないですとして出力として取得しています。ここout = st.lstrip('Product=')

のようにやっています。 文字列のすべての箇所を削除していますが、最初の箇所を削除する必要があります。

所望の出力は次のようになります。アウト= '製品名25' は

+1

[ 'lstrip'](https://docs.python.org/3/library/stdtypes.html#strためだこと.lstrip)は、削除する文字列のパターンではなく、削除する文字のセットを受け入れます。 –

+0

最初に発生したものを削除したいとします。つまり、 'Product ='という文字列は、文字列の始めからだけでなく、_anywhere_でも使用できますか? –

答えて

3

使用すると、代わりに分割:

>>> st= 'Product=Product Name 25' 
>>> st.split("Product=")[1] 
'Product Name 25' 
2

使用replace代わり:

st = 'Product=Product Name 25' 
print(st.replace('Product=', '')) 
>> Product Name 25 

それがためではなかった場合'='count引数を利用することもできます。replaceは、たとえば、あります

st = 'Product Product Name 25' 
print(st.replace('Product', '', 1)) 
>> Product Name 25 
0

あなたはout = st.replace('Product=Product','Product')またはout = st.replace('Product=Product','')を行うことができます。私はそれをシンプルで読みやすいと感じる傾向があります。

0

ちょうどあなたがテキストファイルからキーと値のペアを読んでいる場合には、Pythonのモジュールは、そのための標準ライブラリにあります:ConfigParser

0

文書によると、lstrip関数は文字で文字を削除します。

>>> help(str.lstrip) 

Help on method_descriptor: 

lstrip(...) 
    S.lstrip([chars]) -> str 

    Return a copy of the string S with leading whitespace removed. 
    **If chars is given and not None, remove characters in chars instead.** 

だからst.lstrip('Product=')「は商品=商品名の先頭に "C"、 "T"、 "="、 "D"、 "O"、 "U" を "P"、 "R" を削除25 "。その後、2つの単語が削除されます!

あなたの文字列は「キー=値」のペアを表していると思います。 それを分割するための最良の方法はsplit()メソッドを使用することです:

st = "Product=Product Name 25" 

key, value = st.split("=") 
print("key: " + key) 
print("value: " + value) 

あなたが得る:

key: Product 
value: Product Name 25 

のみ値:

value = st.split("=")[1] 
print("value only: " + value) 

あなたが得る:

value only: Product Name 25 

"左トリム":

p = "Product=" 
value = st[len(p):] 
print("trimmed value: " + value) 

あなたが得る:

trimmed value: Product Name 25 
関連する問題