Java字符串拆分

时间:2020-02-23 14:34:33  来源:igfitidea点击:

Java String split()方法用于根据提供的正则表达式将字符串拆分为字符串数组。

Java字符串拆分

有时我们必须在Java中拆分String,例如拆分CSV文件的数据以获取所有不同的值。

字符串类提供了两种有用的方法来在Java中拆分字符串。

  • public String [] split(String regex):此java字符串split方法用于根据给定的正则表达式字符串分割字符串。
    整个字符串被分割并以字符串数组的形式返回。
    此方法是Java 1.4中引入的。
    请注意,返回的字符串数组中不包含结尾的空字符串。
    让我们看一个简单的java字符串拆分示例以了解这一点。

上面的代码将输出为[,bc,,d]。
请注意,最后一个空字符串从返回的字符串数组中排除。

  • public String [] split(String regex,int limit):当我们希望将字符串分割为有限数量的字符串时,使用此java字符串分割方法。
    例如,假设我们有一个String变量,其中包含名称和地址,并以逗号作为分隔符。
    现在,该地址中可以包含逗号,因此我们可以使用此方法。
    下面是此字符串拆分的简短示例。

请注意,上述第一种方法实际上是通过将limit传递为0来利用第二种方法。

String s = "abcaada";
System.out.println(Arrays.toString(s.split("a")));

Java String拆分要点

关于Java字符串拆分方法的一些重要点是:

  • 此方法返回的数组包含此字符串的每个子字符串,该子字符串由与给定表达式匹配的另一个子字符串终止或者由字符串的结尾终止。
    数组中的子字符串按照它们在此字符串中出现的顺序排列。

  • 如果正则表达式与输入字符串的任何部分都不匹配,则结果数组只有一个元素,即该字符串。

  • limit参数控制应用图案的次数,因此会影响所得数组的长度。
    如果限制n大于零,则模式将最多应用n – 1次,数组的长度将不大于n,并且数组的最后一个条目将包含除最后匹配的定界符之外的所有输入。
    如果n为非-positive模式将尽可能多地应用该模式,并且该数组可以具有任意长度。
    如果n为零,则该模式将被尽可能多地应用,该数组可以具有任意长度,并且尾随空字符串将为丢弃。

Java字符串拆分示例

这是java字符串拆分方法的示例。

String s = "hyman,New York,USA";
String[] data = s.split(",", 2);
System.out.println("Name = "+data[0]); //hyman
System.out.println("Address = "+data[1]); //New York,USA

我们可以使用反斜杠将Java正则表达式特殊字符用作普通字符,就像我在上述程序中使用竖线(|)特殊字符一样。