美文网首页Java干货
Java干货 - String.split()踩过的那些小坑

Java干货 - String.split()踩过的那些小坑

作者: markchan | 来源:发表于2017-10-18 18:27 被阅读0次

    在日常开发中, 我们往往需要对字符串进行切割, 而String类已经给我们写好了split() 的方法, 该方法返回的是切割完后的一个数组

    调用String.split()方法时, 我们只需要传入指定的切割符即可完成切割操作, 然而, 我即将要说的小坑就是出现在切割符上. 因为有的字符需要进行转义, 而需要转义的字符又是我们常用来作为切割符的字符, 如: .|*+(-_- 一副摊手脸)
    对字符进行转义: 在需要转义的字符前加上\\即可
    "." -> 转义 -> "\\."
    
    "|" -> 转义 -> "\\|"
    
    举个栗子
    public static void main(String[] args) {
        String[] strArr = "A|B|C".split("\\|");
        for (int i = 0; i < strArr.length; i++) {
            System.out.println(strArr[i]);
        }
    }
    
    如果非要作死用\作为切割符的话
    public static void main(String[] args) {
        // 由于 \ 表示字符中就需要转义了, 所以 A\B\C 用代码表示就是"A\\B\\C"
        String[] strArr = "A\\B\\C".split("\\\\"); // 转义作死的切割符
        for (int i = 0; i < strArr.length; i++) {
            System.out.println(strArr[i]);
        }
    }
    
    Tips: 如果有多个分隔符, 可以用|作为连字符
    public static void main(String[] args) {
        String str = "A|BCD";
        String[] strArr = str.split("\\||C");
        for (int i = 0; i < strArr.length; i++) {
            System.out.println(strArr[i]);
        }
    }
    

    相关文章

      网友评论

        本文标题:Java干货 - String.split()踩过的那些小坑

        本文链接:https://www.haomeiwen.com/subject/rppeuxtx.html