2017-08-27 32 views
0

に生の文字列を変換するには、私は生の文字列の代わりに\nNLTK:通常の文字列

>>>from nltk.corpus import reuters 
>>>retail_article = reuters.raw('training/8173') 
>>>print (retail_article) 

"FRENCH GDP SHOULD RISE 2.3 PCT IN 1988 - MINISTRY\n French gross domestic 
product should grow\n by 2.3 pct in 1988 after two pct growth this year 
and 2.1 pct\n in 1986, the Finance Ministry said.\n  The latest 
forecast,... 

として、私はテキストが別の行になりたい、NLTKのロイターコーパスからの記事を持っています。どうすれば同じことができますか?

>>>type(retail_article) 
str 

decode()文字列では動作しません、とencode()は、所望の結果を与えていません。

TIA

答えて

2

あなたが表示され、出力はprint(retail_article)を書き込むことによって生成されていません。明らかに、インタプリタのプロンプトでretail_articleと入力しただけです。違いは重要であり、あなたの混乱の原因となっているようです。

変換は不要です。 "生の"文字列はリテラル文字列を書く方法です。コーパスリーダーのraw()メソッドは "生の文字列"を返しません。単に文字列を返します。 (メソッド名は、何も処理が行われないということを意味し、ファイル(複数可)の正確な内容が返されます。)

あなたの文字列retail_articleは実際の改行、ない\n配列を含みます。改行を表示するには、print(retail_article)を使用してください。コマンドプロンプトでretail_articleと書くだけで、文字列(いわゆる "repr"形式)の明白な表現が得られます。

関連する問題