Java拼接字符串数组并切分还原【设置容错率较高的分隔符】

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);
    }
}

3. 测试结果

Java拼接字符串数组并切分还原【设置容错率较高的分隔符】_第1张图片

你可能感兴趣的:(Java,java,开发语言,jvm)