当前位置: 代码迷 >> Java Web开发 >> []使用正则表达式替换第N个分隔符, 效率要高
  详细解决方案

[]使用正则表达式替换第N个分隔符, 效率要高

热度:80   发布时间:2016-04-13 22:41:03.0
[求助]使用正则表达式替换第N个分隔符, 效率要高
将下面字符传每5个分为一组(逗号换成分号)
String str = "'000','001','002','003','004','005','006','007','008','009','0010','0011','0012','0013','0014','0015','0016','0017','0018','0019','0020','0021','0022','0023','0024','0025','0026','0027','0028','0029','0030','0031','0032','0033'";

结果
str = "'000','001','002','003','004','005';'006','007','008','009','0010';'0011','0012','0013','0014','0015';'0016','0017','0018','0019','0020';'0021','0022','0023','0024','0025';'0026','0027','0028','0029','0030';'0031','0032','0033'";
------解决思路----------------------
		String s = "'000','001','002','003','004','005','006','007','008','009','0010','0011','0012','0013','0014','0015','0016','0017','0018','0019','0020','0021','0022','0023','0024','0025','0026','0027','0028','0029','0030','0031','0032','0033'";
String regex = "('\\d+',){5}";
Pattern pattern = Pattern.compile(regex);
Matcher matcher = pattern.matcher(s);
StringBuilder sb = new StringBuilder(s);
while (matcher.find()) {
sb.setCharAt(matcher.end() - 1, ';');
}
System.out.println(sb);

略微改进了效率