/**
* 字符串超过58个字符后,以空格换加换行符
* @param s
* @return
*/
public static String newLineStr(String s) {
StringBuilder sb = new StringBuilder();
int count = 0;
for (int i = 0; i < s.length(); i++) {
if (s.charAt(i) == '\n') {
if(!sb.toString().endsWith("\n")){
if(i+1 <=s.length()){
sb.append(s.substring(i-count,i+1).toString());
}else{
sb.append(s.substring(i-count,i).toString());
}
}else{
if(i+1 <=s.length()){
sb.append(s.substring(i-count,i+1).toString().replaceAll("\n","")).append("\n");
}else{
sb.append(s.substring(i-count,i).toString().replaceAll("\n","")).append("\n");
}
}
count = 0;
} else if (count >= 64 && s.charAt(i) == 32) {
if(i+1 <=s.length()){
sb.append(s.substring(i-count,i+1).toString().replaceAll("\n","")).append("\n");
}else{
sb.append(s.substring(i-count,i).toString().replaceAll("\n","")).append("\n");
}
count = 0;
} else {
count++;
}
}
if(count!= 0 ){
sb.append(s.substring(s.length()-count,s.length()));
}
return replaceMultipleLineBreak(sb.toString());
}
将多个连续换行符替换为单个换行
/**
* 将多个连续换行符替换为单个换行
*
* @param str 需要替换的字符串
* @return String 去除后的字符串
*/
public static String replaceMultipleLineBreak(String str) {
//一个或多个空格
String regEx="['\n']+";
Pattern p = Pattern.compile(regEx);
Matcher m = p.matcher(str);
return m.replaceAll("\n");
}