2016-11-29 7 views
0

これらの2つのデリミタの間でテキストを削除しようとしています: '<' & '' '私は電子メールの内容を読んで、その内容を.txtファイルに書いています。私は.txtファイルの行間の空白を含めて、これら2つの区切り文字の間に多くの迷惑メールがあります。どのように私はこれを取り除くのですか?以下は私のスクリプトは私の.txtファイルに書き込まれたデータから読んでいたものである:以下空の行を含む2つの区切り文字の間でテキストを取り除く方法はありますか?

First Name</td> 

       <td bgcolor='white' style='padding:5px 

!important;'>Austin</td> 

       </tr><tr> 

       <td bgcolor='#f9f9f9' style='padding:5px !important;' 

valign='top' width=170>Last Name</td> 

すると、空行を取り除き.txtファイルからの読み込みのための私の現在のコードです:

ここ
# Get file contents 
    fd = open('emailtext.txt','r') 
    contents = fd.readlines() 
    fd.close() 

    new_contents = [] 

    # Get rid of empty lines 
    for line in contents: 
     # Strip whitespace, should leave nothing if empty line was just  "\n" 
     if not line.strip(): 
      continue 
     # We got something, save it 
     else: 
      new_contents.append(line) 

    for element in new_contents: 
     print element 

何を期待されている:

First Name  Austin  


Last Name  Jones  
+0

あなたの予期した結果を投稿してもらえますか? –

+0

Farhan.K @同上、しかし、いくつかの入力/期待を追加/ doohickeys(技術用語) – Blacksilver

+0

姓\t \tオースティン\t \t 姓\t \tジョーンズ –

答えて

0
markup = '<td bgcolor='#f9f9f9' style='padding:5px !important;' 

valign='top' width=170>Last Name</td>' 
soup = BeautifulSoup(markup) 
soup.get_text() 

あなたはBeautifulSoup

使用することができます
0

あなたは正規表現とre.sub機能を使用して検討する必要があります。

import re 
print re.sub(r'<.*?>', '', text, re.DOTALL) 

提案が常に有効である「HTMLを解析するカスタムパーサーを使用していない」場合でも。

0

line.strip()の結果を変数に代入し、それを他のコンテンツに追加する必要があります。さもなければあなたはストリップされていないラインを保存します。

for line in contents: 

    line = line.strip() 

    if not line: 
     continue 
    # We got something, save it 
    else: 
     new_contents.append(line) 
0

テキストからすべてのHTMLタグを削除しようとしているように見えます。 手ですることもできますが、タグは複雑で、複数の行を使用することもできます。

私のアドバイスは、特別にXMLおよびHTMLを処理するために書かれているBeautifulSoupを使用することです:

import bs4 

# extract content... then 
new_content = bs4.BeautifoulSoup(content, 'html.parser').text 
print new_content 

BS4モジュールは広く、テストした多くのコーナーケースに対処し、非常に独自のコードを削減されています...

+0

私はこれを試してみますしまいました。あなたのご意見ありがとうございます。 –

関連する問題