`

Java字符串处理 split用法

阅读更多
Java split用法

java.lang.string.split

split 方法
将一个字符串分割为子字符串,然后将结果作为字符串数组返回。

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

stringObj
必选项。要被分解的 String 对象或文字。该对象不会被 split 方法修改。

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

limit
可选项。该值用来限制返回数组中的元素个数。

说明:
split 方法的结果是一个字符串数组,在 stingObj 中每个出现 separator 的位置都要进行分解
。separator 不作为任何数组元素的部分返回。


示例1:
public class SplitDemo {
   
     public static String[] ss = new String[20];

     public SplitDemo() {

         String s = "The rain in Spain falls mainly in the plain.";
         // 在每个空格字符处进行分解。
         ss = s.split(" ");
     }

     public static void main(String[] args) {

         SplitDemo demo = new SplitDemo();
         for (int i = 0; i < ss.length; i++)
             System.out.println(ss[i]);
     }

}

程序结果:
The
rain
in
Spain
falls
mainly
in
the
plain.


示例2:
public class SplitDemo {

     public static String[] ss = new String[20];

     public SplitDemo() {

         String s = "The rain in Spain falls mainly in the plain.";
         // 在每个空格字符处进行分解。
         ss = s.split(" ", 2);
     }

     public static void main(String[] args) {
         SplitDemo demo = new SplitDemo();
         for (int i = 0; i < ss.length; i++)
             System.out.println(ss[i]);
     }

}

程序结果:
The
rain in Spain falls mainly in the plain.


示例3:
public class SplitDemo {

     public static String[] ss = new String[20];

     public SplitDemo() {

         String s = "The rain in Spain falls mainly in the plain.";
         // 在每个空格字符处进行分解。
         ss = s.split(" ", 20);
     }

     public static void main(String[] args) {
         SplitDemo demo = new SplitDemo();
         for (int i = 0; i < ss.length; i++)
             System.out.println(ss[i]);
     }

}

程序结果:
The
rain
in
Spain
falls
mainly
in
the
plain.


示例4:
public class SplitDemo {

     public static void main(String[] args) {

         String value = "192.168.128.33";
         String[] names = value.split(".");
         for (int i = 0; i < names.length; i++) {
             System.out.println(names[i]);
         }

     }
}

运行结果:

对,没看错!没有任何输出!
让我们来看看 split 方法的方法签名吧:

public string[] split(string regex)
这里的参数的名称是 regex ,也就是 regular expression (正则表达式)。这个参数并不是一个简单的分割用的字符,而是一个正则表达式,看了 split 方法的实现代码就更坚定了我们的信心:

public string[] split(string regex, int limit) {
return pattern.compile(regex).split(this, limit);
}
split 的实现直接调用的 matcher 类的 split 的方法。读者已经知道,“ . ”在正则表达式中有特殊的含义,因此我们使用的时候必须进行转义。
只要将
String[] names = value.split(".");
改为
String[] names = value.split("\\.");
就可以了。

输出结果:
192
168
128
33


再加一点儿补充(这是Java帮助文档中的,更清晰一些):

public String[] split(String regex,int limit)根据匹配给定的正则表达式来拆分此字符串。
此方法返回的数组包含此字符串的每个子字符串,这些子字符串由另一个匹配给定的表达式的子字符串终止或由字符串结束来终止。数组中的子字符串按它们在此字符串中的顺序排列。如果表达式不匹配输入的任何部分,则结果数组只具有一个元素,即此字符串。

limit 参数控制模式应用的次数,因此影响结果数组的长度。如果该限制 n 大于 0,则模式将被最多应用 n - 1 次,数组的长度将不会大于 n,而且数组的最后项将包含超出最后匹配的定界符的所有输入。如果 n 为非正,则模式将被应用尽可能多的次数,而且数组可以是任意长度。如果 n 为零,则模式将被应用尽可能多的次数,数组可有任何长度,并且结尾空字符串将被丢弃。

例如,字符串 "boo:and:foo" 使用这些参数可生成下列结果:

Regex      Limit                结果

   :          2             { "boo", "and:foo" }
   :          5             { "boo", "and", "foo" }
   :          -2            { "boo", "and", "foo" }
   o          5             { "b", "", ":and:f", "", "" }
   o          -2            { "b", "", ":and:f", "", "" }
   o          0             { "b", "", ":and:f" }

这种形式的方法调用 str.split(regex, n) 产生与以下表达式完全相同的结果:

Pattern.compile(regex).split(str, n)

参数:
regex - 定界正则表达式
limit - 结果阈值,如上所述
返回:
字符串数组,根据给定正则表达式的匹配来拆分此字符串,从而生成此数组
抛出:
PatternSyntaxException - 如果正则表达式的语法无效
从以下版本开始:
1.4


public String[] split(String regex)根据给定的正则表达式的匹配来拆分此字符串。
该方法的作用就像是使用给定的表达式和限制参数 0 来调用两参数 split 方法。因此,结果数组中不包括结尾空字符串。

例如,字符串 "boo:and:foo" 产生带有下面这些表达式的结果:

Regex                 结果
   :            { "boo", "and", "foo" }
   o            { "b", "", ":and:f" }

参数:
regex - 定界正则表达式
返回:
字符串数组,根据给定正则表达式的匹配来拆分此字符串,从而生成此数组。
抛出:
PatternSyntaxException - 如果正则表达式的语法无效
分享到:
评论

相关推荐

    Android中Split()字符串分割特殊用法案例详解

    split()分割字符串 1.不同环境下的区分 Java:分割字符串不能写成split(“$”)//$为要分割的字符 Android:分割字符串需要加上中括号split(“[$]”)/...所以想要使用 | ,必须用 \ 来进行转义,而在java字符串中,\

    Java分割字符串

    在Java编程语言中,分割字符串是一项常见的...理解正则表达式和`split()`方法的用法对于处理复杂的字符串处理任务至关重要。在实际编程中,根据需求选择合适的正则表达式和分割策略,能有效提高代码的效率和可读性。

    JAVA_split_用法

    ### JAVA_split_用法详解 在Java编程语言中,`String`类...通过以上介绍和示例,我们可以看到`split()`方法在Java中的强大功能,它能够帮助开发者灵活地处理字符串的分割任务,是Java字符串操作中不可或缺的一部分。

    java 分割字符串

    在Java编程语言中,分割字符串是一...总之,Java的`split()`方法是处理字符串的强大工具,结合正则表达式,能够灵活地处理各种字符串分割需求。在实际开发中,我们需要熟练掌握这一功能,以提高代码的效率和可维护性。

    Java 字符串操作源码实例集.rar

    这些基本操作是Java字符串处理的核心。通过实践这些实例,初学者可以更好地理解字符串操作的原理和用法,为以后的开发打下坚实基础。在压缩包中找到的"codesc.net"可能是包含这些实例代码的文件,打开并运行这些代码...

    字符串分割

    在编程领域,字符串处理是一项基础且重要的任务,而“字符串分割”则是其中的关键操作之一。在许多编程语言中,如Python、Java、JavaScript等,都提供了内置的字符串分割功能。这个功能允许我们将一个长字符串依据...

    java中的split的用法

    `split`方法是Java `String`类中的一个成员方法,其主要功能是从当前字符串中根据指定的正则表达式进行分割,并返回一个字符串数组。这意味着我们可以使用它来按照特定的分隔符或者模式将字符串拆分成多个子串。 ##...

    work2_分割字符串_字符串处理_源码.zip

    "work2_分割字符串_字符串处理_源码.zip" 这个文件名暗示了我们即将探讨的是关于字符串分割与处理的源代码示例。字符串处理通常涉及到对文本数据进行分析、操作和转换,以满足各种编程需求。下面我们将深入探讨这个...

    Java中Split的用法及注意

    Java 中的 Split 方法是通过正则表达式来拆分字符串的,它可以将一个字符串分割为子字符串,然后将结果作为字符串数组返回。该方法的语法为 `stringObj.split(regex, [limit])`,其中 `stringObj` 是要被分解的字符...

    Java练习字符串课题的源码

    这些知识点是Java字符串处理的基础,通过实践这些源码,学生可以更好地理解字符串的使用和性能优化。对于初学者来说,理解和掌握这些概念对于提升编程技能至关重要。通过分析和运行这些代码,你可以更深入地了解Java...

    java常用字符串方法网络收集txt版

    以上只是Java字符串处理的一部分知识点,实际开发中还有很多高级用法和技巧,比如正则表达式匹配、字符串缓冲区的高效使用等,都值得深入研究。这份“java常用字符串方法网络收集txt版”资料,无疑为学习和查阅这些...

    【Java编程教程】详解Java String字符串.pdf

    Java字符串是不可变的,这意味着一旦创建,就不能改变其内容。如果需要改变字符串,必须创建新的实例。为了支持可变字符串,Java提供了`StringBuffer`和`StringBuilder`类。它们允许在原地修改字符串,适合在多线程...

    Java 实例 - 字符串分割源代码-详细教程.zip

    这个详细教程应该包含了对Java字符串分割的全面介绍,从基本用法到高级技巧,帮助你更好地理解和运用这一功能。通过实践这些示例代码,你可以加深对Java字符串处理的理解,并能够灵活地解决实际编程问题。

    Jenkins高级篇之Pipeline实践篇-2-groovy中字符串操作split()和tokenize()区别.rar

    `split()`方法是Java中的标准方法,也被Groovy继承,用于按照指定的分隔符将字符串拆分为一个数组。它的基本语法是: ```groovy String.split(regex) ``` 这里的`regex`参数是一个正则表达式,用于定义分割字符串...

    java字符串的合并

    总的来说,Java字符串的合并涉及到了字符串的基本操作、集合框架(尤其是`TreeSet`)以及分隔字符串的方法。在实际开发中,选择合适的数据结构和方法是解决这类问题的关键。理解这些概念和API的用法对于提升Java编程...

    java的String[] split 示例

    `String[] split`方法是Java中处理字符串分割的强大工具,尤其当需要对大量文本数据进行预处理时。掌握如何正确使用正则表达式以及理解`split`方法的行为对于任何Java开发者来说都是至关重要的。此外,了解`limit`...

    第03章 字符串用法.rar

    在很多编程语言中,如Python、Java、C#等,字符串可以用引号(单引号或双引号)来创建。例如: ```python str1 = "Hello, World!" str2 = '这是一个字符串' ``` 二、字符串基本操作 1. 访问字符:字符串中的每个...

    java语言编写的统计字符串出现次数的代码.txt

    - 使用 `split` 方法将字符串 `y` 按照 `s` 进行分割,得到字符串数组 `k`。 - 接下来通过判断 `y` 是否以 `s` 结尾来决定 `count` 的值。 - 如果 `y` 以 `s` 结尾,则 `count` 等于数组 `k` 的长度; - 否则,`...

    分割字符串函数 分割字符串函数

    了解了这些基本知识后,我们还可以探讨一些高级用法,比如限制返回的子字符串数量、使用正则表达式进行复杂分割、处理空白字符等等。在实际应用中,根据具体需求选择合适的方法和参数,能有效提升代码的效率和可读性...

Global site tag (gtag.js) - Google Analytics