总:a.直接用String.replaceAll();替换的话,会连字符串里的n,r,t等字母一起替换掉
b.所以要用正则表达式Pattern和Matcher类替换
代码如下:
Class clazz = StdFeatureInfoMapper.class;
String sfi_filter = SqlUtil.sqlFromMybatis(sessionFactory, dataSource, clazz, "getGeoserverSqlSfi", record);
log.info("===去除空格和空行之前getSfiSql==="+sfi_filter);
Matcher m = Pattern.compile("(?m)^\\s*$(\\n|\\r\\n)").matcher(sfi_filter);
String sfi_filter_new = m.replaceAll(" ");
log.info("===去除空格和空行之后getSfiSql2==="+sfi_filter_new);