JavaScript split() 方法
JavaScript String 对象
定义和用法
split() 方法用于把一个字符串分割成字符串数组。
语法
stringObject.split(separator,howmany)
参数 |
描述 |
separator 必需 |
字符串或正则表达式,从该参数指定的地方分割 stringObject。 |
howmany 可选 |
该参数可指定返回的数组的最大长度。如果设置了该参数,返回的子串不会多于这个参数指定的数组。如果没有设置该参数,整个字符串都会被分割,不考虑它的长度。 |
返回值
一个字符串数组。该数组是通过在 separator 指定的边界处将字符串 stringObject 分割成子串创建的。返回的数组中的字串不包括 separator 自身。
但是,如果 separator 是包含子表达式的正则表达式,那么返回的数组中包括与这些子表达式匹配的字串(但不包括与整个正则表达式匹配的文本)。
提示和注释
注释:如果把空字符串 ("") 用作 separator,那么 stringObject 中的每个字符之间都会被分割。
注释:String.split() 执行的操作与 Array.join 执行的操作是相反的。
实例
例子 1
在本例中,我们将按照不同的方式来分割字符串:
<script type="text/javascript"> var str="How are you doing today?" document.write(str.split(" ") + "<br />") document.write(str.split("") + "<br />") document.write(str.split(" ",3)) </script>
输出:
How,are,you,doing,today? H,o,w, ,a,r,e, ,y,o,u, ,d,o,i,n,g, ,t,o,d,a,y,? How,are,you
例子 2
在本例中,我们将分割结构更为复杂的字符串:
"2:3:4:5".split(":") //将返回["2", "3", "4", "5"] "|a|b|c".split("|") //将返回["", "a", "b", "c"]
例子 3
使用下面的代码,可以把句子分割成单词:
var words = sentence.split(' ') 或者使用正则表达式作为 separator: var words = sentence.split(/\s+/)
例子 4
如果您希望把单词分割为字母,或者把字符串分割为字符,可使用下面的代码:
"hello".split("") //可返回 ["h", "e", "l", "l", "o"] 若只需要返回一部分字符,请使用 howmany 参数: "hello".split("", 3) //可返回 ["h", "e", "l"]
例子 5
public static void main(String[] args) { String abc="1|20210621114920|20210621114920|01|5G接口套餐|50.00|15235068202"; String[] aaa=abc.split("|"); System.out.println("第一种"+ Arrays.toString(aaa)); aaa=abc.split("\\|"); System.out.println("第二种"+Arrays.toString(aaa)); }
结果为:
第一种[1, |, 2, 0, 2, 1, 0, 6, 2, 1, 1, 1, 4, 9, 2, 0, |, 2, 0, 2, 1, 0, 6, 2, 1, 1, 1, 4, 9, 2, 0, |, 0, 1, |, 5, G, 接, 口, 套, 餐, |, 5, 0, ., 0, 0, |, 1, 5, 2, 3, 5, 0, 6, 8, 2, 0, 2] 第二种[1, 20210621114920, 20210621114920, 01, 5G接口套餐, 50.00, 15235068202]
例子 6
maven
<dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.49</version> </dependency>
demo
package com.example.demo.controller; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import java.lang.reflect.Array; import java.util.Arrays; import java.util.List; public class demoTest2 { public static void main(String[] args) { String bcy = " com.thinkgem.jeesite.modules.fqsys.entity.FqInfo@6d204ac7[fqId1=<null>,fqId2=<null>,fqId3=<null>,\n" + " issuerName=余额宝质押,fqPeriod=24,fqAmt=10.0,flag=030,rate=0.23,beginFqAmt=<null>,endFqAmt=<null>,\n" + " qdId=0,fqId=20210806001,txnType=0,partnerId=0900,productType=02,packageAmount=0,zlpayType=01,\n" + " orderVersion=02,productExp={\"ecid\":\"1111111111\",\"repaymentType\":\"02\",\"decouple\":\"0\"},seq=1,\n" + " remarks=<null>,createBy=<null>,createDate=<null>,updateBy=<null>,updateDate=<null>,delFlag=0,lang=<null>\n" + " ,autoId=false,constantFK=<null>,constantFKValue=<null>,id=<null>,currentUser=<null>,page=<null>,\n" + " sqlMap=<null>,currentUserId=<null>,currentUserInst=<null>,currentUserLedgerNo=<null>,isNewRecord=false] "; //把所有的中括号取消 String str = bcy.substring(bcy.indexOf("[") + 1, bcy.lastIndexOf("]")); //逗号分隔开 List<String> strList = Arrays.asList(str.split(",")); //遍历 for (String s : strList) { //分隔 = 隔离开 String[] split = s.split("="); //获取数据 在等于fqamt的时候进去 if (split[0].equals("fqAmt")) { String value1 = split[0]; String value = split[1]; System.out.println(value); System.out.println(value1); } } } }
结果为
10.0 fqAmt
学习记录了一下下;