0

これに対する以前の回答を見てきました ( python how to remove this n from string or listremove a list item from a listpython remove whitespace in string )が、解決策を機能させることができません。

次のような単一の要素を持つリストがあります。

list = [u'\r\n\r\n\r\n            \r\n                \r\n                    \r\n                    123 Main St., Peoria\r\n                \r\n\r\n            \r\n             |\r\n             \r\n                    \r\n                        \r\n                            \r\n                            123-456-789\r\n                        \r\n                    \r\n            \r\n        ']

住所と電話番号があり、これを返してもらいたいのは次のとおりです。

123 Main St., Peoria;123-456-789

私は次のようなものを試しました:

str(list).strip(' \r\n\t')

str(list).replace('\r','')

しかし、それらは機能しないので、おそらくユニコードの問題だと思いますか? どうすれば回避できますか?

4

2 に答える 2

5

リストから1 つの要素を取り出し、そこに置き換えるだけです。

print lst[0].replace('\r', '').replace('\n', '')

ここでリスト自体を文字列に変換する必要はありません。

この場合、 a と組み合わせunicode.strip.splitlines()各行から空白を削除してから、再度結合することもできます。

print u' '.join([l.strip() for l in lst[0].splitlines() if l.strip()])

これは以下を出力します:

123 Main St., Peoria | 123-456-789
于 2012-12-19T09:58:42.780 に答える
3
import re

li = [u'\r\n\r\n\r\n \r\n \r\n \r\n 123 Main St., Peoria\r\n \r\n\r\n \r\n |\r\n \r\n \r\n \r\n \r\n 123-456-789\r\n \r\n \r\n \r\n ']
print re.sub(r'\s+', ' ', li[0].replace(' |', ';'))

版画

123 Main St., Peoria; 123-456-789
于 2012-12-19T09:57:19.023 に答える