Libre Office Writer で改ページを検索して置換するにはどうすればよいでしょうか。たとえば、手動で挿入した改ページ (MS Word では ^m) をすべて削除したいとします。正規表現を使用して改行や段落区切りを検索することはできますが、改ページ文字はどこにも見つかりません。
答え1
かなりハックですが、unzip
.odt ファイルを ping して生の XML で作業することをお勧めします。content.xml が編集する適切なファイルのようです。
次の内容のテスト ファイルを用意しました:
QQQQQ
-page break-
AAAAA
以下は、生の XML の関連部分です。
<!---*lots* of declarations--->
<office:automatic-styles>
<style:style style:name="P1" style:family="paragraph" style:parent-style-name="Standard">
<style:paragraph-properties fo:break-before="page"/>
</style:style>
</office:automatic-styles>
<office:body>
<office:text text:use-soft-page-breaks="true">
<text:sequence-decls>
<text:sequence-decl text:display-outline-level="0" text:name="Illustration"/>
<text:sequence-decl text:display-outline-level="0" text:name="Table"/>
<text:sequence-decl text:display-outline-level="0" text:name="Text"/>
<text:sequence-decl text:display-outline-level="0" text:name="Drawing"/>
</text:sequence-decls>
<text:p text:style-name="Standard">QQQQQ</text:p>
<text:p text:style-name="P1">AAAAA</text:p>
</office:text>
</office:body>
<!---some happy-end--->
(実際のファイルはおそらくもっと複雑でしょう。)「P1」はページ区切りの特性を「持つ」ために作成されたスタイルであるように思われます。前に段落。そこで、2つのことが頭に浮かびます。
<text:p />
タグから「P1」を削除する- 「P1」スタイルから改ページプロパティを削除します
ちなみに、ここでは正規表現を避けて、実際の XML パーサーを使用することをお勧めします。
答え2
答え3
正規表現で \n または \r または s/\r\n/\r/g を使用してみてください。\n は行送り用、\r は改行用です。
これが Libre Office で機能するかどうかはわかりません。別の方法としては、そこからテキスト エディター (Linux では gedit、Windows では notepad++) にコピーし、検索と置換を実行して、コピーし直すことです。
答え4
そうではないがその通りあなたが求めているのは、私も似たような問題を抱えていたので、(検索と置換機能と段落書式を使って)かなり近いところまで到達しました。改ページは実際には特別な文字ではなく、段落の書式/スタイルの一部次の段落の(または非常にまれなケースでは前の段落の – この場合、この方法を少し変更する必要があります)。
もしページ区切りがある場合は常に特定の書式のテキストの後、次の方法でその場所を検索できます:
- 編集 > 検索と置換... (Ctrl + H)
- その他のオプションを開く
- [フォーマット...]をクリックします。
- 文書内の他のすべてのテキストから特定の段落を区別する特定の書式を選択します。
- スタイルを含めるにチェックを入れる(テキスト形式(検索)窓)
- 「すべて検索」をクリックして閉じます検索と置換ウィンドウ
- 書式 > 段落...
- テキストフローで、区切り > 挿入のチェックを外します (チェックされていない場合は、最初にチェックを入れて適用し、この手順を繰り返します)
テキストフロー > 区切りセクションがグレー表示されているのはなぜでしょうか?テキスト形式(検索)直接検索できればもっと正確になります:-/