中易网

关于String类的split()方法

答案:4  悬赏:60  
解决时间 2021-02-17 01:50
关于String类的split()方法
最佳答案
split 方法:将一个字符串分割为子字符串,然后将结果作为字符串数组返回。 
split 方法参数为stringObj.split([separator,[limit]]) 
stringObj(必选项) ,指要被分解的 String 对象或文字。该对象不会被 split 方法修改。
separator(可选项),指字符串或正则表达式对象,它标识了分隔字符串时使用的是一个还是多个字符。如果忽略该选项,返回包含整个字符串的单一元素数组。 
limit(可选项)该值用来限制返回数组中的元素个数。
说明 :
split 方法的结果是一个字符串数组,在 stingObj 中每个出现 separator 的位置都要进行分解。
例:String oldStr = "z,,,z";  
String[] strs = oldStr.split(",");  
for(String str:strs) {  
System.out.println(str);  }

扩展资料
String类的split()方法的正确写法:
1、如果用“.”作为分隔的话,必须是如下写法:String.split("\."),这样才能正确的分隔开,不能用String.split(".");。
2、如果用“|”作为分隔的话,必须是如下写法:String.split("\|"),这样才能正确的分隔开,不能用String.split("|");“.”和“|”都是转义字符,必须得加"\";(这里是利用了java中正则表达式的一个点)。
3、如果在一个字符串中有多个分隔符,可以用“|”作为连字符,比如:“a=1 and b =2 or c=3”,把三个都分隔出来,可以用String.split("and|or");。
参考资料来源:百度百科——split函数
全部回答
比如说 "".split("o",5); 返回的是length为1的字符数组
字符串的头尾都会加一个的
你还可以试试 "o:and:foo".split("o",5); 返回的是length为4的字符数组
你还可以试试 "oo:and:foo".split("o",5); 返回的是length为5的字符数组
split 方法:将一个字符串分割为子字符串,然后将结果作为字符串数组返回。
  stringObj.split([separator],[limit])
参数:stringObj 必选项。要被分解的 String 对象或文字。该对象不会被 split 方法修改。
separator 可选项。字符串或 正则表达式 对象,它标识了分隔字符串时使用的是一个还是多个字符。如果忽
  略该选项,返回包含整个字符串的单一元素数组。 limit可选项。该值用来限制返回数组中的元素个数。
  说明:split 方法的结果是一个字符串数组,在 stingObj 中每个出现 separator 的位置都要进行分解。separator 不作为任何数组元素的部分返回。
  split 的实现直接调用的 matcher 类的 split 的方法。“ . ”在正则表达式中有特殊的含义,因此我们使用的时候必须进行转义"\\."
  如果用竖线“|”分隔的话,将出现不可得到的结果,必须改为“\\|”
  ,+ * 不是有效的模式匹配规则表达式,用"//*""//+"转义后即可得到正确的结果。
  实例:
  public class StringSplit {

public static void main(String[] args) throws Exception {
String originalString = new String("5,8,6,9,12,56,3");
String[]destString = originalString.split(",");
for(int i=0; i < destString.length; i++)
System.out.print(destString[i]+" ");
System.out.println( );

String original = new String("abc,ef,bdj,983,r56,34u");
String[]dest = original.split(",",3);
for(int i=0; i < dest.length; i++)
System.out.println(dest[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]);
  
  String value = "192.168.128.33";
String[] names = value.split("\\.");
for (int i = 0; i < names.length; i++)
System.out.println(names[i]);
String value2 = "ABCD|568|ER5|54P";
String[] names2 = value2.split("\\|");
for (int i = 0; i < names2.length; i++)
System.out.println(names2[i]);
}
}
我来给你详细说一下splite方法,就拿API中的例子说吧,对于字符串 "boo:and:foo",regex为o,limit为5时,splite方法首先去字符串里查找regex——o,然后把o做为分隔符,逐个把o去掉并且把字符串分开,比如,发现b后面有一个o,于是把这个o去掉,并且把字符串拆成"b", "o:and:foo"两个字符串(注意:b后面的两个o已经去掉了一个),接下来看"o:and:foo"这个字符串,第一个字符就是o,于是o前面相当于一个空串,把这个o去掉,"o:and:foo"被分开成"", ":and:foo"这样两个字符串,以此类推循环5次就是splite("o", 5)方法的作用,我说得够明白了吧?
其实这个方法一般这样用:
String[] arr = "11,22,33,44".splite(",");
从而方便的得到一个字符串数组:arr={"11", "22", "33", "44"};
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
嘉鱼到武昌最早几点钟有车
怎样控制下午人员的困和累
戊辰1988年已巳月曰时称骨命
求上联文字开头,下联武字开头,挂厅堂正中的对
易代账新建客户时提示指派一个会计怎么办
中韩日语言文化比较 论文
微信提现怎么少了150怎么查询
SEKKISEI地址在什么地方,我要处理点事
发了一个自己的撩人的表情,为啥对方不回我了
2015年和2017年得二月份儿各有几天
小河村地址有知道的么?有点事想过去
帮我解释:辕和辙各是什么意思?
大地的表面来自最深处,来自海洋与陆地之间,
足球怎么踢下坠球
跪求街舞知识 我要做ppt介绍街舞 谢啦
推荐资讯
男朋友跟我吵架然后自己睡沙发 我该怎么办 一
已知(X,Y)服从圆域X2+Y2<=R2上的均匀分布,
黑龙江工商学院几本?
王者荣耀的回放怎么导出来?有时候游戏一更新
6.8+3.8x1.05算法
中国银行(周浦支行)地址在哪,我要去那里办事
宜兴市汽车站售票厅地址在什么地方,我要处理
知性就是说话文诌诌吗?
用蹭网器上网能被发现我上了什么网站吗
星露谷物语TGP存档位置在哪
尿蛋白4个加ov什么意思
QQ堂雷神之锤
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?