1

ta.wikipedia ページの英単語のリンクを解除するために、次のプログラムを作成しました。デリンクとは、英単語の前後にある角括弧を取り除くことを意味します。私はPAWS (pywikibot) を初めて使用します。regex(AZ,az)で削除できるようです。どのように?

import pywikibot
import re

    site = pywikibot.Site('ta', 'wikipedia')
    page = pywikibot.Page(site, title)
    page.text = page.text.replace('[[Eudicots]]','Eudicots')
    page.save()

私の英語でごめんなさい。英語は私にとって架け橋の言語です。デバッグを求めているわけではありませんが、次のようなコードの繰り返しを避ける方法を教えてください。たとえば、次の 26 (アルファベット) コードは、[[ ブラケットを削除するのに役立ちます。

page.text = page.text.replace('[[A','A')
page.text = page.text.replace('[[B','B')
page.text = page.text.replace('[[C','C')
likewise, A to Z
page.text = page.text.replace('[[X','X')
page.text = page.text.replace('[[Y','Y')
page.text = page.text.replace('[[Z','Z')

次に、常に単語の末尾にある小文字を削除する必要があります。なぜなら、すべての単語は小文字で終わるからです。小文字を削除するには、次のコードを記述する必要があります。

    page.text = page.text.replace('a]]','a')
    page.text = page.text.replace('b]]','b')
    page.text = page.text.replace('c]]','c')
    page.text = page.text.replace('d]]','d')
     (likewise, for all the 26 English letters)
    page.text = page.text.replace('x]]','x')
    page.text = page.text.replace('y]]','y')

これは良いコーディングではないと思います。だから私は正規表現を使いたい。ウィキメディア プロジェクトの必要性を提供できたことを願っています。

つまり、英単語ではなく、英単語の括弧のみを削除したいのです。

4

1 に答える 1