java替换Excel⼯作表表名不能⽤的字符的正则表达式
在使⽤poi做Excel动态导出时,由于Excel⼯作表表名不能⽤下列字符
星号——*
斜杠——/
冒号——:
反斜杠——
⽅符号——[ 或 ]
问号——?
当存在这些字符时,createSheet()⽅法会抛出异常,因此需要把这些字符替换掉。
替代的正则表达式如下:
String regex ="(\\*|/|:|\\\\|\\[|\\]|\\?)";
测试⽰例:
package test;
public class TestRegex {
public static void main(String[] args){
String str ="1*11/33?232\\323:31[45646]]464123";
System.out.println(str);
String regex ="(\\*|/|:|\\\\|\\[|\\]|\\?)";
str = placeAll(regex,"-");
System.out.println(str);
}
}
时间正则表达式java结果输出如下:
1*11/33?232\323:31[45646]]464123
1-11-33-232-323-31-45646--464123
同时,还需要注意,构成⼯作表的表名字符个数不得超过31个,并且sheet的名字不能使⽤excel的⽂件名 。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论