现在有两个字符串 strMessageA = "张三,男,北京,25";
strMessageB = "姓名[]性别[]所属[]年龄[]"
我想把'张三'放到姓名后面的括号里,把'男'放到性别的括号里,就是把strMessageA中的逗号前面的信息放到strMessageB相对应的括号里
请高手指点啊~~~
上面的是写死的 我想要个活用的strMessageA ="张三,男,北京" (不一定几个信息)
strMessageB = "[]人员情报"
如果strMessageB 中有一个'[]'就把strMessageA中的所有信息放到 strMessageB的[]中 例 strMessageC= "[张三,男,北京]人员情报"
如果strMessageB 中有两个'[]'strMessageB = "[][]人员情报" strMessageC = "[张三][男,北京]人员情报"
strMessageA 中的人员信息不是固定的,用逗号分割开的
strMessageB 中的[]也不是固定的
请高手帮忙
strMessageB = "姓名[]性别[]所属[]年龄[]"
我想把'张三'放到姓名后面的括号里,把'男'放到性别的括号里,就是把strMessageA中的逗号前面的信息放到strMessageB相对应的括号里
请高手指点啊~~~
上面的是写死的 我想要个活用的strMessageA ="张三,男,北京" (不一定几个信息)
strMessageB = "[]人员情报"
如果strMessageB 中有一个'[]'就把strMessageA中的所有信息放到 strMessageB的[]中 例 strMessageC= "[张三,男,北京]人员情报"
如果strMessageB 中有两个'[]'strMessageB = "[][]人员情报" strMessageC = "[张三][男,北京]人员情报"
strMessageA 中的人员信息不是固定的,用逗号分割开的
strMessageB 中的[]也不是固定的
请高手帮忙
public static void main(String[] args) throws Exception {
String str = "张三,男,北京,25";
String str2 = "姓名[]性别[]所属[]";
System.out.println(mergeString(str,str2));
}
public static String replaceStr(String str2){
if(str2.indexOf("[]")!=-1){
str2 = str2.substring(0, str2.indexOf("[]"))+","+str2.substring(str2.indexOf("[]")+2);
return replaceStr(str2);
}
return str2;
}
public static String mergeString(String str,String str2){
StringBuffer buffer = new StringBuffer("");
String[] splitArray = str.split(",");
if(str2.indexOf("[]")!=-1){
str2 = replaceStr(str2);
String[] splitArray2 = str2.split(",");
if(splitArray.length<=splitArray2.length){
for(int i=0;i<splitArray.length;i++){
buffer.append(splitArray2[i]);
buffer.append("[");
buffer.append(splitArray[i]);
buffer.append("]");
}
}
else
{
for(int i=0;i<splitArray2.length;i++){
if(i==splitArray2.length-1){
buffer.append(splitArray2[i]);
buffer.append("[");
buffer.append(splitArray[i]);
for(int j=splitArray2.length;j<splitArray.length;j++){
buffer.append(",");
buffer.append(splitArray[j]);
}
buffer.append("]");
break;
}
buffer.append(splitArray2[i]);
buffer.append("[");
buffer.append(splitArray[i]);
buffer.append("]");
}
}
}
return buffer.toString();
}
}
个人为你写了两个方法,能实现你的需求!
草~浪费了我十几分钟!竟然是无分嘎!好DOWN!
public static void main(String[] args) throws Exception {
String str = "张三,男,北京,25";
String str2 = "姓名[]性别[]所属[]";
System.out.println(mergeString(str,str2));
}
public static String replaceStr(String str2){
if(str2.indexOf("[]")!=-1){
str2 = str2.substring(0, str2.indexOf("[]"))+","+str2.substring(str2.indexOf("[]")+2);
return replaceStr(str2);
}
return str2;
}
public static String mergeString(String str,String str2){
StringBuffer buffer = new StringBuffer("");
String[] splitArray = str.split(",");
if(str2.indexOf("[]")!=-1){
str2 = replaceStr(str2);
String[] splitArray2 = str2.split(",");
if(splitArray.length<=splitArray2.length){
for(int i=0;i<splitArray.length;i++){
buffer.append(splitArray2[i]);
buffer.append("[");
buffer.append(splitArray[i]);
buffer.append("]");
}
}
else
{
for(int i=0;i<splitArray2.length;i++){
if(i==splitArray2.length-1){
buffer.append(splitArray2[i]);
buffer.append("[");
buffer.append(splitArray[i]);
for(int j=splitArray2.length;j<splitArray.length;j++){
buffer.append(",");
buffer.append(splitArray[j]);
}
buffer.append("]");
break;
}
buffer.append(splitArray2[i]);
buffer.append("[");
buffer.append(splitArray[i]);
buffer.append("]");
}
}
}
return buffer.toString();
}
}
个人为你写了两个方法,能实现你的需求!
草~浪费了我十几分钟!竟然是无分嘎!好DOWN!