次の形式の ASCII ファイルに行があるとします。
{text1} {stringA} {text2} {stringB} {text3}
ここで{stringA}
と{stringB}
は対象の部分文字列です。それらをそれぞれ「A」と「B」と呼びましょう。文字列{text1}
、{text2}
、および{text3}
は、A も B も含まない、任意の長さの (空の可能性がある) 文字列です。
私が Python でやりたいことは、単純に A と B を交換して、行が次のようになるようにすることです。
{text1} {stringA} {text2} {stringB} {text3}
に
{text1} {stringB} {text2} {stringA} {text3}
ここで何か助けていただければ幸いです。この質問について助けを得ることで、Python で正規表現をより適切に扱う方法を学ぶのに役立つと思います。
{text1}
、{text2}
、および{text3}
は不明な文字列であることに注意してください。
部分文字列 A と B は正確にわかっています。行内で A が B の前にあることがわかっています。ただし、それらの前/間/後に何があるかはわかりません。
例 (A=ジョン、B=ティム):
(1) これ:
「私はジョンにバッグをティムに渡すように言いました。」
は次のように変更されます。
「私はティムにバッグをジョンに渡すように言いました。」
(2) これ:
「ジョンはティムに挨拶した」
は次のように変更されます。
「ティムはジョンに挨拶した。」
(3) これ:
「ジョン!h9aghagティム」
は次のように変更されます。
「ティム!アハグジョン」