比如有一个形式是这样子的字符串 String str = "1aaaaaaa2bbbbbbb3ccccccc4ddddddd" ,就是每隔7个字符就是一个数字,数字中间的字符是可以是任何值。怎么把它转变为这样子的二维数组String[][] arg ={{a,a,a,a,a,a,a},{b,b,b,b,b,b,b},{c,c,c,c,c,c,c},{d,d,d,d,d,d,d}}。真是想了好久都没想出来啊!!大虾们觉得有难度吗?
调试欢乐多
然后再分开 可行?
String str = "1aaaaaaa2bbbbbbb3ccccccc4ddddddd";
String[] sa = str.split("\\d");
String[][] sb = new String[sa.length][];
for (int i=0; i<sa.length; i++) {
sb[i] = sa[i].split("(?<=[a-zA-Z])", sa[i].length());
System.out.println(Arrays.toString(sb[i]));
}
String str = "1aaaaaaa2bbbbbbb3ccccccc4ddddddd";
String[] sa = str.split("\\d");
String[][] sb = new String[sa.length][];
for (int i=0; i<sa.length; i++) {
sb[i] = sa[i].split("(?<=.)", sa[i].length());
System.out.println(Arrays.toString(sb[i]));
}
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
String str = "1aaaaaaa2bbbbbbb3ccccccc4ddddddd";
String[] strs = str.split( "[1-9]");
for(String s : strs) {
System.out.println(s);
}
}}
int index = (str.length()+7)/8;
System.err.println("index:"+index);
String[][] result = new String[index][];
for (int i = 0; i < index; i++) {
String arrStr = str.substring(i*8+1, (i+1)*8+1);
System.out.println("arrStr:"+arrStr);
result[i] = new String[arrStr.length()];
for (int j = 0; j < arrStr.length(); j++) {
result[i][j] = arrStr.charAt(j)+"";
}
}
System.out.println(result.toString());