• 【Java面试题】17 如何把一个逗号分隔的字符串转换为数组? 关于String类中split方法的使用,超级详细!!!


    split 方法:将一个字符串分割为子字符串,然后将结果作为字符串数组返回。

    stringObj.split([separator],[limit])
    参数:stringObj   必选项。要被分解的 String 对象或文字。该对象不会被 split 方法修改。
    separator 可选项。字符串或 正则表达式 对象,它标识了分隔字符串时使用的是一个还是多个字符。如果忽

    略该选项,返回包含整个字符串的单一元素数组。 limit可选项。该值用来限制返回数组中的元素个数

    说明:split 方法的结果是一个字符串数组,在 stingObj 中每个出现 separator 的位置都要进行分解。separator 不作为任何数组元素的部分返回。

    split 的实现直接调用的 matcher 类的 split 的方法。“ . ”在正则表达式中有特殊的含义,因此我们使用的时候必须进行转义"\."

    如果用竖线“|”分隔的话,将出现不可得到的结果,必须改为“\|”  

    ,+ * 不是有效的模式匹配规则表达式,用"//*"        "//+"转义后即可得到正确的结果。

    实例:

    public class StrSplit2 {
        public static void main(String[] args) {
            String orgStr = "a,b,c,d,e,f";
            String[] result1 = orgStr.split(",");
            String[] result2 = orgStr.split(",", 4);
    
            for (int a = 0; a < result1.length; a++) {
                System.out.print(result1[a] + "	");
            }
            System.out.println();
            for (int a = 0; a < result2.length; a++) {
                System.out.print(result2[a] + "	");
            }
    
            System.out.println();
            String[] aa = "aaa|bbb|ccc".split("\|"); // 这样才能得到正确的结果
            for (int i = 0; i < aa.length; i++) {
                System.out.println(aa[i]);
            }
            
            System.out.println();
            String[] bb = "aaaa*bbbb*cccc".split("\*"); // 这样才能得到正确的结果
            for (int i = 0; i < bb.length; i++) {
                System.out.println(bb[i]);
            }
    
            String[] cc = "acount=? and uu =? or n=?".split("and|or"); // 这样才能得到正确的结果
            for (int i = 0; i < cc.length; i++) {
                System.out.println(cc[i]);
            }
    
            String[] dd = "aaa\bbb\bccc".split("\\");
            for (int i = 0; i < dd.length; i++) {
                System.out.println(dd[i]);
            }
    
            System.out.println();
            String s = new String("01:大汽车");
            String a[] = s.split(":");
            System.out.println(a[0]);
            System.out.println(a[1]);
    
            System.out.println();
    
            String str = "1one123two456obc";
            String[] strs2 = str.split("o");
            for (int i = 0; i < strs2.length; i++)
                System.out.println("strs2[" + i + "] = " + strs2[i]);
        }
    }
  • 相关阅读:
    前端 JS+CSS
    Git 命令行操作
    信息安全 学习笔记(2)——防火墙(Netfilter/ IPtables)
    信息安全 学习笔记(3)—— 后门(Backdoor+rootkit)
    Linux课程学习总结报告
    信息安全 学习笔记(4)—— 【问答题 复习纲要】
    结合中断上下文切换和进程上下文切换分析Linux内核的一般执行过程
    centos安装和卸载软件
    zookeeper错误KeeperErrorCode = ConnectionLoss解决
    查看linux信息
  • 原文地址:https://www.cnblogs.com/guweiwei/p/6604074.html
Copyright © 2020-2023  润新知