给出一句字符串,里面夹杂” ”,“=”,根据空格分隔,“=”切割。
先创建类Person,
Alt+Insert:生成get和set方法。
class Student {
private String name;
private String age;
private String calssNum;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getAge() {
return age;
}
public void setAge(String age) {
this.age = age;
}
public String getCalssNum() {
return calssNum;
}
public void setCalssNum(String calssNum) {
this.calssNum = calssNum;
}
}
输入需要转换的字符串,并且创建Person对象进行操作:
String s = "name=王五 age=18 classNum=1101";
Student st = new Student();
接下来需要用split来进行空格的分割:
String[] th;
String[] arr1 = s.split("\\s+");
for(String s2 : arr1){
System.out.println(s2);
//后续代码等待。。
然后进行“=”的切割,此切割在数组里面,需要进行便历,同时再次调用split进行分割,分割完毕后,开始判断Person类中的属性是否被赋值,若无赋值,逐一赋值。
th = s2.split("=");
for (int i = 1; i < th.length; i++) {
System.out.println(th[i]);
if (st.getName()==null){
st.setName(th[i]);
}else if (st.getAge()==null){
st.setAge(th[i]);
}else if (st.getCalssNum()==null){
st.setCalssNum(th[i]);
}
}
System.out.println();
最后打印:
System.out.println("该学生姓名为:"+st.getName()+",年龄为:"+st.getAge()+",班级为:"+st.getCalssNum());