转义表达式:反斜杠

时间:2019-05-27 14:06:46

标签: java escaping

我有一个Codefragment,适用于除\ 我的问题是拆分会删除所有\

     public static String esc = "\\";
     public static String[] saveSplit(String str, String regex) {
        String[] test = str.split(regex);
        ArrayList<String> list = new ArrayList<>();
        String storage = "";
        for (String string : test) {
            if (!endsWith(string, esc)) {
                if (!storage.equals("")) {
                    list.add(storage + string);
                    storage = "";
                    continue;
                }
                list.add(string);
            } else {
                storage += string.replace(esc, regex);
            }
        }
        if (!storage.equals("")) {
            list.add(storage);
        }
        String[] retArray = new String[list.size()];
        retArray = list.toArray(retArray);
        return retArray;
    }

我需要这种方法来轻松地拆分具有\的字符串而不会删除\,因此当我使用\\转义\\\\时,它们不会丢失

我期望的是String s = "\\\\element1\\element2\\\\\\element3\\\\element4 变成[{\\element1},{element2},{\\element3\\element4}] 但会删除所有\

0 个答案:

没有答案