在Java中有时候需要按照每隔N个字符切割一个字符串,因为在内容换行中经常会用到,通常每隔第N个字符切割String字符串有两种方法,下面来介绍学习一下吧!
方法一:使用Split的正则表达式来切割字符串
此方法你的java jdk必须为7及其以上,java 6是无法使用的,否则会报如下错误:“Look-behind pattern matches must have a bounded maximum length near index 12”,方法如下:
String s = "切割字符串,hello world"; //主要用到这里的正则表达式,每5个字符切割 String [] aa = s.split("(?<=\\G.{5})"); //输出 for (int i = 0; i < aa.length; i++) { System.out.println(aa[i]); }
方法二:使用substring切割
可以使用String中的subString来切割字符串,直接使用如下方法即可:
public static String[] splitByNumber(String s, int chunkSize){ int chunkCount = (s.length() / chunkSize) + (s.length() % chunkSize == 0 ? 0 : 1); String[] returnVal = new String[chunkCount]; for(int i=0;i<chunkCount;i++){ returnVal[i] = s.substring(i*chunkSize, Math.min((i+1)*chunkSize, s.length())); } return returnVal; }
然后在使用中如下这样每隔5个字符切割字符串,代码如下:
String s = "切割字符串,hello world"; String [] aa = splitByNumber(s,5);