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