- 浏览: 801013 次
- 性别:
- 来自: 上海
文章分类
最新评论
-
xueweiabcok:
PowerDesigner15官方正式版+注册补丁 -
春天好:
博主写的很好,赞一个,多谢分享 *(^-^*)分享一个免费好用 ...
爬虫技术 -
零度弥合:
每天进步1%,那你一百天就成神啦。
Linux下Grails开发环境变量配置 -
dajian0822:
问下,那你显示存储CKEditor文本存储后,在用CKEdit ...
CKEditor学习笔记 -
mengfei86:
...
爬虫技术
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 - 如果正则表达式的语法无效
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 - 如果正则表达式的语法无效
发表评论
-
String, StringBuffer, StringBuilder 举例探究效率
2014-03-20 13:28 2054在自己以往的学习及工作经验中,形成的概念: String ... -
Java QR code 二维码
2013-09-19 23:19 1491You can refer to http://ww ... -
java 读取大容量文件,内存溢出?
2012-09-23 11:19 7103java 读取大容量文件,内存溢出?怎么分段读取 法一:( ... -
JAVA取整
2012-02-10 09:54 1344舍掉小数取整:Math.floor(2 ... -
java中利用反射机制实现调用给定为字符串的方法名
2011-09-28 15:21 0Test.java public static void ... -
JavaBean 反射实现原理
2011-09-28 14:30 0package com.DB; import java. ... -
搜狗的一个笔试题
2011-09-21 16:24 1790以下程序是一个信息编码的程序,阅读其encode部分,并补全其 ... -
ArrayList Vector LinkedList 区别与用法
2011-09-10 11:46 1003ArrayList 和Vector是 ... -
String类是否可以继承?
2011-09-10 10:56 3892问题1:String类是否可以继承? String类是 ... -
Java MD5加密
2011-09-18 22:21 3868呵呵,在网上查了看了很多,综合起来整理一个,先记下来以后用到了 ... -
java中subSequence方法和subString方法的区别
2011-08-01 09:30 8315根据JDK的文档,String.subSequence只 ... -
JAVA如何计算程序运行时间
2011-06-28 10:10 1474long t1=system.currentT ... -
java读取纯真IP数据库qqwry.dat的源代码
2011-06-27 09:31 2464java读取纯真IP数据库QQwry.dat的源代码,要运行此 ... -
SimpleDateFormat 类可以进行日期和字符串自由的转换
2011-06-18 16:46 1470JAVA中么创建"yyyy-MM-dd HH:mm: ... -
java 小方法
2011-05-19 10:55 959//***************************** ... -
Java_demo 定时器(2)
2011-05-17 14:40 2323本例依据Java自身提供的接口实现,通过监听器(Listene ... -
Java 定时器(1)
2011-05-17 14:19 1930Java定时器(java.util.Timer ... -
Java 反斜杠 斜杠 编译 转换
2011-05-17 10:54 2807package cn.rg.demo.test; impor ... -
java字符串编码转换大全
2011-05-16 16:25 1443无论是对程序的本地化还是国际化,都会涉及到字符编码的转换的问题 ... -
ResultSet
2011-04-27 15:08 927ResultSet 对象具有指向其当前数据行的光标。最初,光标 ...
相关推荐
### JAVA_split_用法详解 在Java编程语言中,`String`类提供了多个实用的方法来处理字符串,其中`split()`方法是用于将一个字符串分割成字符串数组的一种常见方式。此方法利用正则表达式(Regular Expression)作为...
Java 中 Split 的用法及注意 Java 中的 Split 方法是通过正则表达式来拆分字符串的,它可以将一个字符串分割为子字符串,然后将结果作为字符串数组返回。该方法的语法为 `stringObj.split(regex, [limit])`,其中 `...
Java中的`split()`方法是String类的一个非常重要的成员函数,用于根据给定的正则表达式将一个字符串分割成多个子字符串,并返回一个字符串数组。这个方法在处理文本数据、解析配置文件或从复杂的字符串中提取信息时...
### Java中的split方法详解 #### 一、引言 在Java编程中,字符串处理是非常常见的需求之一。`String`类提供了多种方法来处理字符串,其中`split`方法因其灵活性和强大的分割功能而被广泛使用。本文将深入探讨`...
`split()`方法位于`java.lang.String`类中,它的基本语法如下: ```java public String[] split(String regex) ``` 这里的`regex`参数是一个正则表达式,用于定义分隔字符串的规则。正则表达式是一种强大的文本...
Java split() 函数使用方法解析 Java split() 函数是 Java 编程语言中一个非常常用的字符串分割函数,它可以将一个字符串按照指定的分隔符分割成多个子字符串,并将其存储在一个字符串数组中。下面我们将详细介绍 ...
`split`函数是Java中用于字符串分割的关键方法,它接受一个正则表达式作为参数,返回一个字符串数组,其中每个元素都是原字符串根据正则表达式分割后的结果。在这个文件分割程序中,`split`可能不是直接用于字符串...
掌握如何正确使用正则表达式以及理解`split`方法的行为对于任何Java开发者来说都是至关重要的。此外,了解`limit`参数的作用可以帮助我们更精细地控制分割结果,从而满足不同的需求场景。在实际开发中,结合使用`...
Java中的`String.split()`方法是处理字符串的强大工具,它能够根据指定的分隔符将一个字符串分割成多个子字符串,并将这些子字符串存储在一个数组中。这个方法在处理文本数据时非常常见,尤其是在解析CSV格式的数据...
"Java字符串split使用方法代码实例" Java字符串split使用方法代码实例是 Java 编程语言中的一种常见操作,用于将一个字符串拆分成多个子字符串。下面我们将详细介绍 Java 字符串 split 使用方法代码实例。 什么是...
Java的`split`方法是String类的一个非常重要的成员函数,用于根据指定的分隔符将字符串分割成多个子字符串,并返回一个字符串数组。这个方法在处理数据时非常有用,例如解析CSV格式的数据或者处理带有固定分隔符的...
Java中的`split()`方法是String类的一个非常重要的成员函数,它用于将字符串按照指定的分隔符进行切割,返回一个字符串数组。这个方法在处理文本数据时尤其有用,例如解析CSV格式的数据、处理用户输入或者从日志文件...
除了字符和字符串分隔符,`Split`方法还可以接受一个正则表达式作为参数,这使得我们可以使用更复杂的模式来分割字符串。例如,如果你想以任何非字母数字字符为分隔符,可以这样做: ```csharp string str = "Hello!...
在Java编程语言中,`split()` 是一个非常实用的字符串方法,它允许我们将字符串按照指定的分隔符进行拆分。然而,在某些情况下,当分隔符...希望这个解释能帮助你更好地理解和使用Java中的 `split()` 方法处理字符串。
2.特殊用法–当split()分割字符串遇上特殊符号 案例分析 String str = abc|dfg; String[] all=str.split(|); system.out.println(all[0]); 结果为 a 原因分析 | 在正则表达式中是个已经被使用的特殊符号(”.”、”...
在Java中,通常使用`String`类的`split()`方法来拆分字符串,但自定义的工具包可能会提供更高级的特性,如支持正则表达式、多维度分割、自定义分隔符或者性能优化等。 下面我们将深入探讨Java中字符串分割的相关...
在Java编程语言中,`split()` 是一个非常实用的方法,用于根据给定的正则表达式将字符串分割成多个子字符串。这个方法存在于 `java.lang.String` 类中,它的主要功能是将一个字符串分解成一个字符串数组,其中每个...
本文将详细介绍如何使用Java中的`split()`方法,并结合正则表达式来处理全角空格和半角空格的问题。 #### 一、背景介绍 在处理文本数据时,经常会遇到不同类型的空格字符。除了最常见的半角空格(ASCII码为32)...
标题明确指出本文将围绕`String.split()`方法的使用进行深入探讨,旨在总结其功能、用法以及一些实践中的注意事项。这表明文章的目标读者是对Java编程有一定了解,希望提升自己在字符串操作方面技能的人群。 ### ...
在Java编程语言中,`split()`方法是String类的一个重要成员,它允许开发者根据指定的分隔符将字符串拆分为一个字符串数组。然而,在Oracle的PL/SQL环境中,并没有直接对应的函数来完成相同的功能。因此,当需要在PL/...