前面我们介绍了如何 查找和高亮word文档中的文本。该文将介绍如何在Java应用程序中使用正则表达式查找并高亮、查找和替换Word 文档中的文本。
请查看示例文档:

正则表达式查找和替换文本
以下示例展示如何使用document.replace() 方法替换所有查找到的以 # 开头的文本。
import com.spire.doc.*;
import java.util.regex.Pattern;
public class WordDemo {
    public static void main(String[] args) throws Exception {
        //加载示例文档
        Document document = new Document();
        document.loadFromFile("Sample.docx");
        //匹配以#开头,数字结尾的字符并用Spire.Doc替换
        Pattern c = Pattern.compile ("^#(.*?)\\d$");
        document.replace(c,"Spire.Doc");
        //保存文档
        document.saveToFile("Result.docx", FileFormat.Docx_2013);
    }
}效果图:

正则表达式查找和高亮文本
以下示例展示如何使用document.findAllPattern()方法查找【】内的文本/跨段落文本并高亮显示。
import com.spire.doc.*;
import com.spire.doc.documents.TextSelection;
import com.spire.doc.fields.TextRange;
import java.awt.*;
import java.util.regex.Pattern;
public class WordDemo {
    public static void main(String[] args) throws Exception {
        //加载示例文档
        Document document = new Document();
        document.loadFromFile("Sample.docx");
        Pattern c = Pattern.compile("【[\\s\\S]*】");
        //匹配【】内的字符
        TextSelection[] textSelections = document.findAllPattern(c, true); //true表示高级查找
       //设置高亮颜色
        for (TextSelection selection : textSelections) {
            TextRange[] results = selection.getAsRange();
            for (TextRange result : results) {
                result.getCharacterFormat().setHighlightColor(Color.yellow);
            }
        }
        document.saveToFile("Result2.docx", FileFormat.Docx_2013);
    }
}
 



 
					



