前面我们介绍了如何 查找和高亮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);
}
}