我正在根据客户输入在xml中生成Word文档,当然,只要使用&
,它就会爆炸。我尝试用&
替换&
的所有实例,但后来&
字面上显示在我的Word文档中。这是我的代码:
static String replace(String in) {
String ampersand = "&(?![a-zA-Z][a-zA-Z][a-zA-Z]?[a-zA-Z]?;)";
return in.replaceAll(ampersand,"&");
}
有什么想法吗?
答案 0 :(得分:2)
问题是&符号在TOC和标题中的转义不同。
在TOC中,它会以&
转义,而标题会以\u0026
转义。
解决方案是在TOC和标题中以不同方式逃避&符号:
答案 1 :(得分:0)
您是否尝试使用&
或&
(unicode)替换&符号?
答案 2 :(得分:0)
Word 2007本身就是&,所以你的问题必须是别的。
答案 3 :(得分:0)
你的正则表达式对我来说似乎不对。你为什么不这样做:
static String replace(String in) {
return in.replace("&","&");
}