2016-06-20 5 views
1

私はPythonスクリプトを使用して大量のテキストを解析し、Microsoft Access 2010データベースにインポートします。元のテキストの特定の部分を表のリッチテキストセクションに挿入しています。 <Br>ステートメントを追加すると、新しい行を開始する意図した効果が得られます。これは、次のようにPythonで実装されています:Microsoft Access 2010で一部のリッチテキスト形式(HTML)が表示されない

if line not in ['\n', '\r\n']: 
       section += line + '<Br>' 

テキストの太字のセクションにしようとすると、しかし、適切なタグのどれも動作するようには思えません。私が試した:

sectionOrig.lower().replace(statin, '<b>' + statin + '</b>'), 
sectionOrig.lower().replace(statin, '<strong>' + statin + '</strong>'), and 
sectionOrig.lower().replace(word, '<span style="font-weight:bold">' + word + '</span>'). 

私もスタイリングタグの各セットの前と後の<html></html>を追加しようとしました。タグはセクション内にはまったく表示されないため、Accessによって処理されるようですが、テキストは太字ではありません。私はオンラインで見つかったものから、これはテキストを太字で表示するために使用する正しいタグですが、何が欠けていますか?

+0

おかげで、ちょうど私がインデントするのを忘れてました。 –

+0

'.replace'の結果をある変数に代入していますか?文字列はPythonでは不変なので、 'thing.replace(...)'は置換された文字列を返しますが、 'thing'の値は変更しません。 ..) '。 –

+0

いいえ、それを認めなかった..ありがとう。 –

答えて

1

文字列はPythonでは不変であるため、.replaceメソッドは置換in situを実行しません。は、置き換えられた新しい文字列を返します。したがって、たとえば、このコードはthingという名前の文字列の値を変更しません:

>>> thing = 'foo bar baz' 
>>> thing 
'foo bar baz' 
>>> thing.replace('bar', 'bazinga') 
'foo bazinga baz' 
>>> thing 
'foo bar baz' 

が、これがない:編集用

>>> thing = thing.replace('bar', 'bazinga') 
>>> thing 
'foo bazinga baz' 
関連する問題