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

示例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 - 如果正则表达式的语法无效

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

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

参数: regex - 定界正则表达式 limit - 结果阈值,如上所述 返回: 字符串数组,根据给定正则表达式的匹配来拆分此字符串,从而生成此数组

Java split的用法的更多相关文章

  1. java split函数用法(转)

    1.语法如下 String.split(sourceStr,maxSplit) String.split(sourceStr) 参数说明:sourceStr是被分割的字符串,maxSplit是最大的分 ...

  2. Java split用法

    Java split用法 java.lang.string.split split 方法  将一个字符串分割为子字符串,然后将结果作为字符串数组返回. stringObj.split([separat ...

  3. Java中split的用法

    Java中的我们可以利用split把字符串按照指定的分割符进行分割,然后返回字符串数组,下面是string.split的用法实例及注意事项:java.lang.string.splitsplit 方法 ...

  4. java split小结(转)

    2016.03.27下午参加华为机试,简单扫了一眼几个题的标题,选择了一道字符串问题,其实该题非常非常的简单,可以说是简单的不能再简单了,而且有很多种解法,上机时我选择了直接借用java提供的一些函数 ...

  5. JAVA的continue用法

    JAVA的continue用法: public class test{ public static void main(String [] args){  for(int i=0;i<=10;i ...

  6. Java Spring AOP用法

    Java Spring AOP用法 Spring AOP Java web 环境搭建 Java web 项目搭建 Java Spring IOC用法 spring提供了两个核心功能,一个是IoC(控制 ...

  7. Java Spring IOC用法

    Java Spring IOC用法 Spring IoC 在前两篇文章中,我们讲了java web环境搭建 和 java web项目搭建,现在看下spring ioc在java中的运用,开发工具为In ...

  8. 四种Java线程池用法解析

    本文为大家分析四种Java线程池用法,供大家参考,具体内容如下 http://www.jb51.net/article/81843.htm 1.new Thread的弊端 执行一个异步任务你还只是如下 ...

  9. JAVA中ArrayList用法

    JAVA中ArrayList用法 2011-07-20 15:02:03|  分类: 计算机专业 |  标签:java  arraylist用法  |举报|字号 订阅     Java学习过程中做题时 ...

随机推荐

  1. python学习笔记:目录结构

    "项目目录结构"其实也是属于"可读性和可维护性"的范畴. 目录组织方式 关于如何组织一个较好的Python工程目录结构,已经有一些得到了共识的目录结构.在Sta ...

  2. Vue实现无痕刷新

    一.什么是无痕刷新 在不刷新浏览器的情况下,实现页面的刷新. 传统的刷新页面方式 window.location.reload()原生 js 提供的方法 this.$router.go(0)vue 路 ...

  3. Springboot的Mybatis逆向工程

    1.pom.xml添加mybatis和逆向插件依赖: <dependency> <groupId>org.mybatis.spring.boot</groupId> ...

  4. python-函数-动态传参,作用域的问题,函数嵌套,global nonlocal

    ⼀. 函数参数--动态传参 之前我们说过了传参, 如果我们需要给⼀个函数传参, ⽽参数⼜是不确定的. 或者我给⼀个 函数传很多参数, 我的形参就要写很多, 很⿇烦, 怎么办呢. 我们可以考虑使⽤动态参 ...

  5. Python建立Tab自动补全的脚本

    Python建立Tab自动补全的脚本 #!/usr/bin/python #python steup file import sys import readline import rlcomplete ...

  6. 粗糙的区别prepareStatement:(为Statement的子类)与Statement

    区别: prepareStatement:(为Statement的子类) conn = DBFactory.getInstance().getImpl().getConnection(); //方式一 ...

  7. python之求字典最值

    本例子求字典最小值 首先字典分为键和值 eg: {键:值} prices = { 'ACME': 45.23, 'AAPL': 612.78, 'IBM': 205.55, 'HPQ': 37.20, ...

  8. ERROR 1290 (HY000): Unknown error 1290

    如有需要可以加我Q群[308742428]大家一起讨论技术,提供有偿服务. 后面会不定时为大家更新文章,敬请期待. 喜欢的朋友可以关注下. 记录一次在连接数据库报的一个错误信息: 原因是MySQL正使 ...

  9. 博客中引入了gitment评论系统

    官方github地址:https://github.com/imsun/gitment 官方中文说明地址:https://imsun.net/posts/gitment-introduction/ 官 ...

  10. webpack--前端自动化工具

    一.下载与安装 //全局安装webpack (不推荐) npm i webpack -g npm i webpack-cli -g //局部安装(推荐) npm i webpack -D npm i ...