2016-07-22 4 views
-9

私はpythonで初心者です。私は配列[' [59342486', '59343079]']を持っています。私は 内に角かっこを取り除く正規表​​現を書いてほしい ' [59342486' '59343079]'は角かっこを取り除くために正規表現が必要です

あなたはこれで私を助けてくれますか?あなたは空白を先頭と末尾削除したい場合は

for index, item in enumerate(my_list): 
    my_list[index] = item.replace('[', '').replace(']', '') 
+7

正規表現は必要ありません。文字列 'replace()'を使うだけです。 – martineau

+0

また、正規表現は角括弧を削除しません。削除される大括弧を見つけるのに役立ちます*。 – SilentMonk

+2

この奇妙なリストはどこで入手できましたか?このリストを作成するコードはおそらく 'ast.literal_eval'を使うか、ここの前のある時点で文字列への変換を避けることで解決する必要があります。 – user2357112

答えて

0

new_list = [s.replace('[','').replace(']','').strip() for s in old_list] 

ますその場でも行うことができます:

old_list[:] = [s.replace('[','').replace(']','') for s in old_list] 
+1

実際には 'while'も' if'も必要ではありません。既定では、 'replace'は必要な文字のすべてのインスタンスを置き換えます。問題はそれがインプレースではないということで、あなたのサンプルは期待どおりに動作しません。 – DeepSpace

+0

'while'ループは必要ありません。 'replace()'メソッドは全ての部分文字列を取り除きます。 – martineau

3
new_list = [s.replace('[','').replace(']','') for s in old_list] 

:あなたはこのためにreplaceを使用することができ、事前 で

おかげジャン

+1

これはいいです、そして、OPはそれを求めませんでしたが、それはリストの最初の項目の先頭のスペースを残します。私はそれが後で問題を引き起こす可能性があると推測しているので、おそらく '.strip()'を式 –

+0

に連鎖させていただきました。 –

関連する問題