1. 要求
把n个字符串拼接成一个字符串,再把这个字符串切分还原回n个字符串。字符串包含各种符号,直接使用英文逗号分隔会导致之后还原错误。
2. 方法
设置分隔符,这里我设置了一个较特别的分隔符[[SEP]],想着应该不会出现这种字符串
private String separator = "[[SEP]]";
拼接字符串:String自带的join方法。使用字符串separator来分隔list中的每个字符串
public String joiner(String list[]){
return String.join(separator, list);
}
切分字符串:String对象自带的split方法。传入参数要求正则表达式,使用双斜杠来转义[和]。因为这两个方括号本身属于正则表达式的语法规则。
public String[] splitter(String s){
return s.split("\\[\\[SEP\\]\\]");
}
完整代码
public class test3 {
private String separator = "[[SEP]]";
public static void main(String[] args) {
String list1[] = {"1,,", "2\\/\\", "3:,fg"};
System.out.println("----原始字符串----");
for (String ss: list1){
System.out.println(ss);
}
test3 t = new test3(); // 初始化对象
System.out.println("----拼接后----");
String s = t.joiner(list1); // 连结字符串
System.out.println(s);
System.out.println("----切分后----");
String list2[] = t.splitter(s);
for (String ss: list2){
System.out.println(ss);
}
}
public String[] splitter(String s){
return s.split("[\\[][\\[]SEP[\\]][\\]]");
}
public String joiner(String list[]){
return String.join(separator, list);
}
}