`
touchmm
  • 浏览: 1049288 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

java.lang.String的split()方法

阅读更多

java.lang.String的split()方法

测试如下:
String a="hello,,,";
String[] aArr= a.split(",");
System.out.println("aArr.length="+aArr.length);

输出结果:aArr.length=1。该数组只有1个元素:[hello]

--------------------

String a="hello,,,";
String[] aArr= a.split(",",0);
System.out.println("aArr.length="+aArr.length);
输出结果:aArr.length=1。该数组只有1个元素:[hello]

--------------------

String a="hello,,,";
String[] aArr= a.split(",",2);
System.out.println("aArr.length="+aArr.length);
输出结果:aArr.length=2。该数组有2个元素:[hello][,,]

--------------------

String a="hello,,,";
String[] aArr= a.split(",",-1); //参数为-1。这种情况往往是我们想要的结果。
System.out.println("aArr.length="+aArr.length);
输出结果:aArr.length=4。该数组有4个元素:[hello][][][]。

JAVA5.0的API手册如是说:

--------------------

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

--------------------

另外,正则表达式中"."、"|"、"+"、"*"都是转义字符,在split()中使用时,需要加"\\"。

如split("\\.")、split("\\|")、split("\\+")、split("\\*")。


[完]

2008/11/11 于京

分享到:
评论

相关推荐

    Java类库复习——java.lang.String

    在Java编程语言中,`java.lang.String`是最重要的类之一,它是所有字符串操作的基础。这个类位于核心类库中,因此无需显式导入即可使用。本文将深入探讨`String`类的一些关键知识点,包括它的特性、构造方法、常用...

    org.apache.commons.lang3.StringUtils.jar.rar

    Apache Commons Lang 是一个由 Apache 软件基金会开发的 Java 类库,它提供了一系列实用工具类,用于增强 JDK 内置的 String 类的功能。在给定的标题 "org.apache.commons.lang3.StringUtils.jar.rar" 中,我们可以...

    commons-lang-StringUtils.zip

    Commons Lang是Apache软件基金会开发的一个Java工具包,它提供了许多实用的函数,扩展了Java标准库中关于字符串处理的功能。`StringUtils`类是这个工具包中的核心类之一,专门用于处理字符串的各种操作,包括但不...

    Java源码解析——看优秀源码最能使人进步

    Java.lang.String类是Java语言中的一种基本数据类型,该类的定义、字段属性、构造方法、equals方法、hashCode方法、charAt方法、compareTo方法、concat方法、indexOf方法、replace方法、split方法、substring方法、...

    Java字符串分隔方法split实践

    `split()`方法位于`java.lang.String`类中,它的基本语法如下: ```java public String[] split(String regex) ``` 这里的`regex`参数是一个正则表达式,用于定义分隔字符串的规则。正则表达式是一种强大的文本...

    Java常用包

    Java语言提供了多种常用包,包括java.lang、String、StringBuffer、Math、Object、Class、Constructor、Method、Field、Date、Calendar、SimpleDateFormat、File等。这些包中的类和方法为Java开发提供了强大的支持。...

    jsp 判断list是否包含string的实现方法.docx

    2. **字符串分割**:使用`org.apache.commons.lang3.StringUtils.split`方法按照指定的分隔符将`srcStr`字符串分割成一个字符串数组`splitChars`。 3. **转换为列表**:将分割后的字符串数组转换为`List<String>`...

    JAVA中常用类的常用方法.docx

    JAVA 中有许多常用的类,每个类都有其特定的方法,本文将对 java.lang.Object 类、String 类和 StringBuffer 类的常用方法进行讲解。 一、java.lang.Object类 java.lang.Object 类是 JAVA 中所有类的父类,它提供...

    java常用工具类

    - `java.lang.String`:Java中的字符串类,不可变且线程安全。它提供了大量方法,如`substring()`, `trim()`, `indexOf()`, `replace()`, `split()`等,用于字符串操作。 - `java.lang.StringBuilder`和`java.lang...

    Java中分割字符串的两种方法实例详解

    ### 一、`java.lang.String` 的 `split()` 方法 `split()` 方法是自JDK 1.4引入的,它基于正则表达式来分割字符串。方法签名如下: ```java public String[] split(String regex, int limit) ``` - `regex`:作为...

    Java程序设计:chapter07 Java实用包.ppt

    本章重点介绍了`java.lang`和`java.util`这两个核心包,它们包含了丰富的类和方法,极大地提高了开发效率。 首先,`java.lang.Math`类是Java标准库中提供的一系列数学函数的集合。它包含了许多数学运算,如三角函数...

    JAVA【第5章:面向对象基础】_String类的常用方法.rar

    `String`类位于`java.lang`包中,因此在使用时无需显式导入。 下面我们将详细讲解几个重要的`String`类的方法: 1. **构造方法**: - `String()`:创建一个空字符串。 - `String(char[] array)`:根据字符数组...

    Java_API_1.7中文 高清完整CHM版

    8. **字符串API增强**:`String`类在Java 7中增加了新的方法,如`split()`的正则表达式支持、`join()`用于连接字符串数组,以及`contains()`、`startsWith()`和`endsWith()`的改进。 9. **动态类型**:Java 7引入了...

    StringUtils 中文API

    `org.apache.commons.lang.StringUtils` 是 Apache Commons Lang 库中的一个类,提供了对字符串操作的一系列实用方法。这些方法通常比 Java 标准库提供的方法更加强大、灵活,并且能够更好地处理 `null` 值的情况。...

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

    首先,Java中的字符串实际上是一个表示`char`值序列的对象,它是由`java.lang.String`类定义的。字符串在内存中的处理非常特别,它们存储在称为“字符串常量池”的区域,这是一个优化内存使用的策略。当使用字符串...

    JAVA_String

    首先,`String`类位于`java.lang`包中,这意味着在编写Java程序时,我们无需显式导入它。`String`对象一旦创建,其内容就不能改变,这种特性使得`String`在处理文本数据时具有高度的安全性和效率。 创建`String`...

    字符串string.zip

    它们由`java.lang.String`类表示,提供了丰富的操作方法,如`length()`用于获取字符串长度,`charAt(int index)`用于访问特定位置的字符,以及`substring(int beginIndex, int endIndex)`用于截取子字符串。...

    Java个人笔记

    - `java.lang.*`:基础类库,包括所有Java程序都会自动导入的基本类,如Object、String、System等。 - `javax.swing.*`:提供高级的GUI组件,如JFrame、JButton等。 6. **集合框架**:Java的`java.util.*`包中,...

    Commons培训

    2. **org.apache.commons.lang.builder**:该包提供了一系列用于快速生成Java类中常见的方法(如`toString()`、`hashCode()`、`equals()`)的工具类。 3. **org.apache.commons.lang.enum**:这是一个旧的枚举处理包...

Global site tag (gtag.js) - Google Analytics