今天在遇到一个问题,给你一串字符串,然后按照指定的分隔符进行分割,然后在返回字符串数组。于是想到了在java.lang下的String.split()方法。但是结果却不可以,坑死宝宝了。

split用法

看一下Java API

如何在startAgent里加java路径 java中startwith用法_分割


看一下代码

如何在startAgent里加java路径 java中startwith用法_api_02


通过上面两张图我们可以看出,它返回的是一个字符串数组。

stringObj.split([separator,[limit]])

先介绍一下参数:

stringObj:这个是需要进行分割的String对象或者文字,它不会被split方法进行修改。<必选项>

separator:字符串或正则表达式对象,它标识了分隔字符串时使用的是一个还是多个字符。如果忽略该选项,返回包含整个字符串的单一元素数组。<可选项>

limit:该值用来限制返回数组中的元素个数(也就是最多分割成几个数组元素,只有为正数时有影响)<可选项>

下面看一下使用:

示例一:

String var1 = "S;n;o;w;Wi;tch";
String[] var2 = var1.split(";");
for (int i = 0; i < var2.length; i++) {
    System.out.println(var2[i]);
}

输出结果为:

如何在startAgent里加java路径 java中startwith用法_api_03


示例二:

String var1 = "S;n;o;w;Wi;tch";
String[] var2 = var1.split(";", 3);
for (int i = 0; i < var2.length; i++) {
    System.out.println(var2[i]);
}

看一下输出结果:

如何在startAgent里加java路径 java中startwith用法_分割_04


通过上面的输出结果,我们可以看出limit的作用,就是用来限制返回数组的个数。当这个数字为负数,则没有效果,小伙伴们可以自行测试。

示例三:

String var3 = "192.168.0.216";
String[] var4 = var3.split(".");
for (int j = 0; j < var4.length; j++) {
    System.out.println(var4[j]);
}

但是,今天我就是遇到这个问题,没有输出结果,原来这些需要进行转义,把var3.split(".")换成var3.split("\\.");就可以了。

split用法注意:

(1)当用"."进行分割滴时候,必须写成String.split("\\."),而不能写成String.split(".")
(2)当用"|"进行分割滴时候,必须写成String.split("\\|”),而不能写成String.split(“|”)。
(3)当在一个字符串中有多个分隔符,可以用"|"作为连字符,比如:String var="z-1 and x-2 or c-3",如果想要分割这三个,那么就可以写成这样子String.split("and|or")
(4)当分隔符为"*""+",如果写成这样子String.split("+")String.split("*"),会出现错误。①:String.split("//+")String.split("//*),输出结果为:字符串本身,不做任何修改。②:String.split("\\+")String.split("\\*")这样写就是进行了转义,输出结果就是按"+""*"进行滴分割。

startsWit用法:

首先我们来看一下Java API

如何在startAgent里加java路径 java中startwith用法_split_05


看一下代码

如何在startAgent里加java路径 java中startwith用法_分割_06


我来解释一下:startsWith(String str)就是来检查你所要形参参数与你字符串开头是否相同。startsWith(Sring str,int Index)其中Index指的是,你所要从原字符串下标第几个与所需要形参参数作对比。当Index为0时,与startsWith(Sring str)效果一样。

用法很简单,看一下代码:

String st1 = "snowWitch";
System.out.println("st1:" + st1.startsWith("no", 1));
String st2 = "snowWitch";
System.out.println("st1:" + st2.startsWith("no"));
String st3 = "snowWitch";
System.out.println("st2:" + st3.startsWith("sn"));
String st4 = "snowWitch";
System.out.println("st4:" + st4.startsWith("sn", 0));
String st5 = "snowWitch";
System.out.println("st5:" + st5.startsWith("sn", 1));

运行结果如下:

如何在startAgent里加java路径 java中startwith用法_分割_07


用法就是这样,如果有不明白滴地方,可以留言哦~