将A1B2C3D4E5F6G7H8拆分开来,并分别存入int[]和String[]数组,得到的结果为[1,2,3,4,5,6,7,8]和[A,B,C,D,E,F,G,H],
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Test03 {
public static void main(String[] args) {
int number[];
String letter[];
String str = "A1B2C3D4E5F6G7H8";
Matcher m = Pattern.compile("\\d").matcher(str);
Matcher d = Pattern.compile("\\D").matcher(str);
while(m.find()){
System.out.print(m.group());
// char data[] = (m.group()).toCharArray();
// for (int i = 0; i < data.length; i++) {
// System.out.print(data[i]);
}
System.out.println();
while(d.find()){
System.out.print(d.group());
}
}
}
我写代码运行结果是:
12345678
ABCDEFGH
然后怎么把它们分别插入数组,我调试了一下午.没调试出来.只好来这求解答拉.这个问题可能菜鸟.但对于水平跟我相当的有帮助
你好,我是Java初学者,这个题是疯狂Java讲义的吧。刚好我做了这道,贴上来参考一下吧。
import java.util.Arrays;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Test280 {
public static void main(String[] args) {
String str = "A1B2C3D4E5F6G7H8";
int[] inttest = new int[8];
String[] strtest =new String[8];
// 数组下标索引,初始为0
int i=0;
Matcher m1 = Pattern.compile("\\d").matcher(str);
Matcher m2 = Pattern.compile("\\D").matcher(str);
// 把符合的字符存入数组
while (m1.find()) {
inttest[i++]= Integer.parseInt(m1.group());
}
// 数组下标重置为0
i=0;
// 把符合的字符存入数组
while (m2.find()) {
strtest[i++]= m2.group();
}
// 使用Array类的toString方法输出数组
System.out.println(Arrays.toString(inttest));
System.out.println(Arrays.toString(strtest));
}
}
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Test03 {
public static void main(String[] args) {
int number[] = new int[8];
String letter[] = new String[8];
String str = "A1B2C3D4E5F6G7H8";
Matcher m = Pattern.compile("\\d").matcher(str);
Matcher d = Pattern.compile("\\D").matcher(str);
String s = "";
while (d.find()) {
s += d.group();
// 将字符串拆分成字符数组
}
// 将字符串拆分成字符数组
letter = s.split("");
System.out.println();
String s1 = "";
while (m.find()) {
s1 += m.group();
}
// 将字符串s1拆分后给数组number赋值
// 将字符串拆分成字符数组
String[] str1 = s1.split("");
// 给number数组赋值
for (int j = 0; j < str1.length; j++) {
number[j] = Integer.parseInt(str1[j]);
}
// 输出字符串数组
for (String string : letter) {
System.out.print(string + " ");
}
System.out.println();
// 输出整形数组
for (int num : number) {
// 上面定义的number长度为
System.out.print(num + " ");
}
}
}
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。