私はこの問題で私の限られた知識の終わりに達しました。現在、diffの結果を解析しています。これが私が操作しようとしている結果の例です:
[
[[0, 0, '\xe2\x80\x9cWe are returning again statement. He depicted the attacks as part of a battle launched by Sunnis against the country\xe2\x80\x99s Shia leaders.\r\n\r\nThe first attack came about 5 a.m. on Monday when gunmen stormed onto an Iraqi '],
[-1, 1, 'military base near the town of Duluiyah in S'],
[0, 2, 'alahuddin Province and killed 15 Iraqi soldiers, according to security officials. Four soldiers, including a high-ranking was taken prisoner by the insurgents, who escaped with him.\r\n\r\nThe insurgents also attacked the home of a police official in Balad, seriously wounding ']],
[[0, 4, 'eckpoint near Baquba, killing one policeman. In all, attacks were reported in at least five provinces.\r\n\r\nEight attacks were launched in Kirkuk Province, mostly targeting police patrols, with five people killed and 42 wounded.\r\n\r\nThe offensive started on the third day of the Islamic holy month of Ramadan, and '],
[-1, 5, 'apparently took advantage of the wi'],
[1, 6, 'll and the other.']]
]
差分サマライザーを作成しています。内訳は次のとおりです。
このリストは、差分結果のリストです(上記の例では2つ)。
サブリストには3つの要素があります。
- 変更前のテキスト、
- 変更を構成するテキスト。と
- 変更後のテキスト。
サブサブリストにも3つの要素があります。
- セクションが削除、追加、または影響を受けていないかどうかを示す番号(それぞれ-1,0,1)。
- ポジション番号(シーケンシャル); と
- 文字列自体。
私がする必要があるのはサブサブリストの文字列をスライスすることですが、それはそれらがどのサブリストにあるかによって異なります。
- サブリストの要素1の場合、最後の4文字を除くすべての文字列をスライスする必要があります。
- サブリストの要素2の場合、スライスがない必要があります。
- サブリストの要素3の場合、最初の4文字を除くすべての文字列をスライスする必要があります。
これが私がこのようにスライスする必要がある理由の例です。ソリューションの前の簡略化されたtText:
[[[...]], [[this is a],[sentence],[to demonstrate.]], [[...]]]
解決後のテキスト:
[[[...]], [[is a],[sentence],[to d]], [[...]]]
そしてもう一つの難しさは、リストの構造を維持したいということです。
大変な一日でした-この問題の心を曲げる性質についてお詫びしますが、それがオーバーフローの目的です...
考え?