split()使用注意事项 约定不等于承诺〃 2022-03-06 11:46 355阅读 0赞 ## split()使用注意事项 ## ###### 一、简介: ###### split() 方法用于把一个字符串分割成字符串数组。 String.split(separator,limit) //separator:可选。字符串或正则表达式,从该参数指定的地方分割。 //提示: 如果把空字符串 ("") 用作 separator,那么 stringObject 中的每个字符之间都会被分割。 //limit:可选。该参数可指定返回的数组的最大长度。如果没有设置该参数,返回的数组没有长度限制。 ###### 二、split(separator,limit)在java和js中的细节对比 ###### **情况1:特殊字符做分割符,如:"."、"|"** java中:必须使用\\\\进行转义 //"."作为分隔符 String str = "aa.bb.cc"; String [] arr = str.split("\\."); //数组为:['aa','bb','cc'],长度为:3 //"|"作为分隔符 String str = "aa|bb|cc"; String [] arr = str.split("\\|"); //数组为:['aa','bb','cc'],长度为:3 js中:不需要转义处理 //"."作为分隔符 var str = "aa.bb.cc"; var arr = str.split("."); //数组为:['aa','bb','cc'],长度为:3 //"|"作为分隔符 var str = "aa|bb|cc"; var arr = str.split("|"); //数组为:['aa','bb','cc'],长度为:3 **情况2:存在多个分割符号** 若存在多个分割符,可以用连接符"|"连接各个分隔符实现分割 注意:此种情况只适用于java,不可在js中使用 //java中,使用连接符"|"连接多个分割符实现多分隔符分割 String str = "a=1 and b=2 or c=3"; String [] arr = str.split("and|or"); //数组为:['a=1','b=2','c=3'],长度为:3 **情况3:split(separator,limit) 返回数组长度的约束** java中: 注意:java中,当limit = 0 时,所得数组末尾元素不允许为空值 //limit = 0,所得数组末尾元素不允许为空值(常用的split(",")等同于split(",", 0)) String str = "aa,bb,cc,,"; String [] arr = str.split(","); //数组为:['aa','bb','cc'],长度为:3 //limit > 0,所得数组末尾元素允许为空值,且所得数组的最大长度为limit String str = "aa,"; String [] arr = str.split(",",2); //数组为:['aa',''],长度为:2 String str = "aa,bb,,"; String [] arr = str.split(",",2); //数组为:['aa','bb,,'],长度为:2 //limit < 0,所得数组末尾元素允许为空值 String str = "aa,bb,,"; String [] arr = str.split(",",-1); //数组为:['aa','bb','',''],长度为:4 js中: 注意:js中,无论limit值为多少,总允许所得数组末尾元素为空值 //limit >= 0,表示分割后数组的最大长度为limit,且所得数组末尾元素允许为空值 var str = "aa,bb,"; var [] arr = str.split(",",0); //数组为:[],长度为:0 var [] arr = str.split(",",2); //数组为:['aa','bb,'],长度为:2 var [] arr = str.split(",",5); //数组为:['aa','bb',''],长度为:3 //limit < 0,所得数组末尾元素允许为空值(常用的split(",")等同于limit<0的情况) var str = "aa,bb,"; var [] arr = str.split(",",-1); //数组为:['aa','bb',''],长度为:3 var [] arr = str.split(","); //数组为:['aa','bb',''],长度为:3
还没有评论,来说两句吧...