在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);