記事の1つで、。NET開発者としてドキュメント内の単語を編集する方法 。この戦略は、機密コンテンツを消去したり、電子メールアドレスや識別番号などの個人情報を非表示または削除したりするためにさまざまな方法で使用されます。この記事では、JavaのWordDOC / DOCXドキュメントで単語検索を実行する方法について説明します。テキスト、単語、またはフレーズを検索して、Java APIを使用してさまざまな手法で置き換える方法については、個別に説明します。
以下のトピックについて以下で説明します。
- Word Search and ReplacingText用のJavaAPI
- 単語またはフレーズの検索と置換
- 大文字と小文字を区別する単語の検索とテキストの置換
- 正規表現を使用してテキストを置き換える(RegEx)
- テキストを色付きのボックスに置き換える
単語検索とテキスト置換のためのJavaAPI
** GroupDocs **は、Java redaction API を提供します。これにより、MSWordでサポートされているファイルやその他のさまざまなファイル形式のドキュメントのコンテンツを検索して置き換えることができます。テキストの編集とラスタライズに加えて、APIはメタデータ、注釈、スプレッドシート、および画像の編集機能もサポートしています。 Wordドキュメント、スプレッドシート、プレゼンテーション、画像、およびPDFドキュメントのサポートされているファイル形式 は、ドキュメントで入手できます。
###ダウンロードまたは構成
** JAR **ファイルはダウンロードセクション からダウンロードするか、maven-のpox.xmlの最新のリポジトリと依存関係の構成を取得することができます。ベースのJavaアプリケーション。
<repository>
<id>GroupDocsJavaAPI</id>
<name>GroupDocs Java API</name>
<url>https://repository.groupdocs.com/repo/</url>
</repository>
<dependency>
<groupId>com.groupdocs</groupId>
<artifactId>groupdocs-redaction</artifactId>
<version>21.12</version>
</dependency>
MS Wordまたはその他のサードパーティソフトウェアは、編集プロセスには必要ありません。ここで、検索を処理してテキストを置き換えるためのさまざまなアプローチから始めましょう。以下は、以下の例で使用されているWord文書のスクリーンショットです。ソースコードをほとんどまたはまったく変更せずに、他のドキュメント形式でも同じ方法を使用できます。

Javaを使用して単語またはフレーズを検索して置換する
次の手順では、Javaアプリケーション内のWordドキュメントで出現する単語/フレーズを検索して置換する方法について説明します。
- Redactor クラスを使用してDOC/DOCXファイルをロードします。
- ExactPhraseRedaction とReplacementOptions を使用して、正確なフレーズまたは単語を見つけます.com / redaction / java / com.groupdocs.redaction.redactions / ReplacementOptions) クラス。 *Redactorのapplyメソッドを使用して編集を適用します。 *変更後にファイルを別の場所に保存するには、出力ストリームを使用します。
- [保存](https://apireference.groupdocs.com/redaction/java/com.groupdocs.redaction/Redactor#save(java.io.OutputStream,%20com.groupdocs.redaction.options) を使用して、編集の変更を保存します。 RasterizationOptions) ) メソッド。
次のコードは、Javaを使用して、上記のWordドキュメント内の「JohnDoe」という単語を検索して置き換えます。これは、「JohnDoe」のすべての出現箇所を「[censored]」という単語に置き換えます。
// 正確なフレーズを見つけて、Javaを使用して他のテキストに置き換えます
final Redactor redactor = new Redactor("path/document.docx");
redactor.apply(new ExactPhraseRedaction("John Doe", new ReplacementOptions("[censored]")));
// 編集したファイルを別の場所に別の名前で保存する場合。
FileOutputStream stream = new FileOutputStream("path/exactPhrase.docx");
RasterizationOptions rasterOptions = new RasterizationOptions();
rasterOptions.setEnabled(false);
redactor.save(stream, rasterOptions);
コードの出力は次のとおりです。

Javaで大文字と小文字を区別する単語検索とテキストの置換
単語の正確な大文字小文字の区別に注意しているようで、大文字と小文字を区別する検索にのみ一致する単語のみを置き換えたいと考えています。次のコードは、Javaの「JohnDoe」という単語の完全な大文字小文字の一致の存在を置き換えます。
// 正確なフレーズ(大文字と小文字を区別) を検索し、Javaを使用して他のテキストに置き換えます
final Redactor redactor = new Redactor("path/document.docx");
redactor.apply(new ExactPhraseRedaction("John Doe", true /*isCaseSensitive*/, new ReplacementOptions("[censored]")));
redactor.save();
コードの出力は次のとおりです。

Javaで正規表現(RegEx) を使用してテキストを置き換える
正確な単語ではなく、ドキュメントに存在するパターンを変更したい場合は、正規表現を使用できます。次の手順では、Javaアプリケーション内で正規表現(RegEx) を使用して、テキストのパターンを見つけて置き換えることができます。
- Redactor クラスを使用してドキュメントをロードします。
- RegexRedaction を使用して正規表現を作成します。
- ReplacementOptions を使用してテキストを提供し、正規表現の一致を置き換えます。 *適用メソッドを使用してすべての正規表現の一致を置き換えます。 *編集されたドキュメントを取得するには、saveメソッドを使用します。
次のコードは、RegExを使用してWordファイルで単語検索を実行し、Javaを使用して他のテキストに置き換える方法を示しています。
// 正規表現を使用してテキストを検索し、Javaを使用して他のテキストに置き換えます
final Redactor redactor = new Redactor("path/document.docx");
redactor.apply(new RegexRedaction("\\d{2}\\s*\\d{2}[^\\d]*\\d{6}", new ReplacementOptions("[censored]")));
redactor.save();
上記のコードの出力は次のとおりです。

Javaでテキストを色付きのボックスに置き換える
コンテンツを置き換えたくなく、単に非表示にしたい場合、APIを使用すると、コンテンツの上にボックスを描画することで、テキストの一致をカバーできます。次のJavaコードは、黒い長方形のボックスでテキストを非表示にします。
// テキストを検索し、Javaを使用してその上に長方形を描画して非表示にします
final Redactor redactor = new Redactor("path/document.docx");
redactor.apply(new ExactPhraseRedaction("John Doe", true, new ReplacementOptions(java.awt.Color.BLACK)));
redactor.save();
上記のコードの出力は次のとおりです。

無料のAPIライセンスを取得する
評価の制限なしでAPIを使用するために、無料の一時ライセンスを取得 することができます。
結論
要約すると、正確なテキストフレーズ検索、大文字と小文字を区別する検索、正規表現を使用した検索を使用して単語検索を実行し、Word文書内のテキストを検索する方法を学びました。最後に、テキストを置き換える代わりに非表示にします。これらのさまざまな手法を使用して、MSWordドキュメント内のさまざまな方法で結果を置き換えることができます。
APIの詳細と学習については、ドキュメント にアクセスしてください。質問については、フォーラム からお問い合わせください。