web-dev-qa-db-ja.com

テキストブロックの特定の部分からのみ改行(またはキャリッジリターン)を削除するにはどうすればよいですか?

改行(または改行)を持つようにフォーマットされたPDFファイルからフォーマットされたテキストをコピーするときはいつでも、段落フォーマットを削除せずにこれらの改行を削除する方法を見つける必要があります。

これを行うには、RegEx(正規表現)を使用して、ピリオドが前に付いていない改行のみを削除する必要があります。

したがって、たとえば、テキストの文字列にピリオドの直後に改行がある場合、それは明らかにほとんどの場合、新しい段落を開始する正当な改行です。テキストの文字列に単語の途中またはピリオドのない単語の後に改行がある場合、それは単に私が取り除く必要がある悪いフォーマットの一部です。

私の問題は、RegExを使用して、WordまたはCRLFの^ pタグのみを削除する方法、またはピリオドの後にあるものを省略した条件で任意の形式の改行を削除する方法がわからないことです。

6
Luke Allen

MS Wordのソリューション:

  1. 検索と置換を開く(Ctrl+H)、[ワイルドカードを使用する]オプションをオンにします。 [ワイルドカードを使用する]オプションが表示されない場合は、[その他]をクリックしてください。
  2. 以下を「検索対象」ボックスにコピーします。([!.])^0013
  3. 以下を「ReplaceWhat」ボックスにコピーします。\1
  4. 「すべて置換」をクリックします

説明:

  • [!.]は「ドット以外のすべての記号を検索する」という意味です
  • ^0013は段落記号であるため、「検索対象」では、ドット以外のすべての記号の後に段落記号が続きます。
  • 括弧は、後で使用するためにその非ドット記号をメモリに配置することを意味します
  • \ 1は、記憶されている記号を見つけた場所に置き換えます

^0013は括弧内にないため、最終的なテキストには段落記号がありません。

3
mar4enk0

文は私が更新した期間よりも多くの句読点で終わる可能性があるため hsawiresの回答 to:

  1. ドット、疑問符、感嘆符、閉じ引用符、またはコロンを除くすべての記号を検索します。
  2. さらに、場合によっては、[Replace What]ボックスの\1の後にスペースを追加して、ある行の最後の単語と次の行の最初の単語が結合されないようにする必要があります。

MS Wordのソリューション:

  1. 検索と置換を開く(Ctrl+H)、[ワイルドカードを使用する]オプションをオンにします。
  2. [ワイルドカードを使用する]オプションが表示されない場合は、[その他]をクリックします。
  3. 以下を「検索対象」ボックスにコピーします。([!.\?\!"':])^0013
  4. 以下を「ReplaceWhat」ボックスにコピーします。\1
  5. 「すべて置換」をクリックします。

説明:

[!.\?\!"':]は、「ドット、疑問符、感嘆符、閉じ引用符、またはコロンを除くすべての記号を検索する」ことを意味します。 --^0013は段落記号であるため、「Find What」では、ドット以外のすべての記号の後に段落記号が続きます。 -括弧は、後で使用するために、その非ドット記号をメモリに配置することを意味します。 --\1は、記憶されている記号を見つけた場所に置き換えます。

^0013は括弧内にないため、最終的なテキストには段落記号がないことに注意してください。

0
user1583016

Wordで、手動の改行を見つけて置き換えてみてください^l段落記号付き^p

0
hsawires

メールやその他のドキュメントにカットアンドペーストする前にアドレスブロックを作成/変更するはるかに簡単な方法は、3/4行のテーブルを宣言し、各行にアドレスデータを入力することです。次に、線を取り除きます。

0
Keawe