要求定义一个类Separate,传入一个字符串和一个整形,Separate(String a, int b) ,能把字符串按照 这样分离:如果字符串是 "abcde123" , b = 2 , 那么 返回一个这样的字符串 : "ab,cd,e1,23" 就是 没隔 b个字符串后面加个逗号将字符串分开。 求代码
import java.util.*; public class Separate { public static void main(String[] args) { Separate2 se = new Separate2("abcdefghijgklll", 2); System.out.println(se.result()); } }class Separate2 {
String src; int len; String res;
public Separate2(String src, int len) { this.src = src; this.len = len; }
public String result() { StringBuffer temp = new StringBuffer(src); int length = src.length(); for(int i=0; i<length/len; i++) { temp.insert((i+1)*len+i, ','); } return new String(temp); } }
import java.util.*; public class Separate { public static void main(String[] args) { Separate2 se = new Separate2("abcdefghijgklll", 2); System.out.println(se.result()); } }class Separate2 {
String src; int len; String res;
public Separate2(String src, int len) { this.src = src; this.len = len; }
public String result() { StringBuffer temp = new StringBuffer(src); int length = src.length(); for(int i=0; i<length/len; i++) { temp.insert((i+1)*len+i, ','); } return new String(temp); } }
public class Separate {
public static void main(String[] args) {
Separate2 se = new Separate2("abcdefghijgklll", 2);
System.out.println(se.result());
}
}class Separate2 {
String src;
int len;
String res;
public Separate2(String src, int len) {
this.src = src;
this.len = len;
}
public String result() {
StringBuffer temp = new StringBuffer(src);
int length = src.length();
for(int i=0; i<length/len; i++) {
temp.insert((i+1)*len+i, ',');
}
return new String(temp);
}
}
public class Separate {
public static void main(String[] args) {
Separate2 se = new Separate2("abcdefghijgklll", 2);
System.out.println(se.result());
}
}class Separate2 {
String src;
int len;
String res;
public Separate2(String src, int len) {
this.src = src;
this.len = len;
}
public String result() {
StringBuffer temp = new StringBuffer(src);
int length = src.length();
for(int i=0; i<length/len; i++) {
temp.insert((i+1)*len+i, ',');
}
return new String(temp);
}
}
理解这一句就好了,还有使用StringBuffer会提高效率。
public static void main(String[] args) {
String str = "abcde123";
str = Separate(str, 3);
System.out.println(str);
}
public static String Separate(String src, int n){
String dots = "";
for(int i=0;i<n;i++){
dots += ".";
}
return src.replaceAll("("+dots+")(?!$)", "$1,");
}