5

2 つの単語文書の名前をクロス チェックし、同じプログラムで共通名を出力したいと考えています。どうすればいいですか?正規表現を使用するか、単に in 関数を使用するか?

4

5 に答える 5

14

Word 文書からテキストを取り出したら、非常に簡単です。

document_1_text = 'This is document one'
document_2_text = 'This is document two'

document_1_words = document_1_text.split()
document_2_words = document_2_text.split()

common = set(document_1_words).intersection( set(document_2_words) )
unique = set(document_1_words).symmetric_difference( set(document_2_words) )

Word ドキュメントからテキストを取得する方法がわからない場合:

from win32com.client import Dispatch

def get_text_from_doc(filename):
    word = Dispatch('Word.Application')
    word.Visible = False
    wdoc = word.Documents.Open(filename)
    if wdoc:
        return wdoc.Content.Text.strip()
于 2012-08-27T04:38:38.340 に答える
0

1 つのドキュメントの単語を保存してから、2 番目のドキュメント チェックの単語を調べて、各単語が前のドキュメントにあったかどうかを確認する必要があります。したがって、ドキュメントの代わりに 2 つの文字列がある場合、次のようにすることができます。

a = "Hello world this is a string"
b = "Hello world not like the one before"

単語を文字列に格納します。

d = {}
for word in a.split():
  d[word] = true
for word in b.split():
  if d[word]:
    print(word)
于 2012-08-13T17:40:02.177 に答える