关于String类的split方法解析
2009-08-15 02:08
323 查看
虽然使用正则表达式能很好的进行字符串的解析、提取、替换,但是对于一些简单的应用,使用 String 类提供的一些方法就可以很好的完成,最突出的就是 split 方法。
split 方法能够很方便的将字符串按照一定的规则拆分开。
比如对于下面的字符串:
Tom,Jane,Tony,Elva,Gigi
只要调用如下的代码就可以将各个名字提取出来:
String value = "Tom,Jane,Tony,Elva,Gigi";
String[] names = value.split(",");
for(int i=0,n=names.length;i<n;i++)
{
System.out.println(names[i]);
}
运行结果:
Tom
Jane
Tony
Elva
Gigi
看到这个运行结果,很多人都认为 split 方法就是按照给定的字符串对字符串进行拆分,知道碰到了下面的问题。
有一个字符串:中国 . 北京 . 海淀 . 学院路。请解析此字符串,并打印输出“中国 北京 海淀 学院路 ”。
于是写代码如下:
String value = " 中国 . 北京 . 海淀 . 学院路 ";
String[] names = value.split(".");
for(int i=0,n=names.length;i<n;i++)
{
System.out.print(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 的方法。读者已经知道,“ . ”在正则表达式中有特殊的含义,因此我们使用的时候必须进行转义。
修改代码如下:
private static void split2()
{
String value = " 中国 . 北京 . 海淀 . 学院路 ";
String[] names = value.split("//.");
for(int i=0,n=names.length;i<n;i++)
{
System.out.print(names[i]+" ");
}
}
运行结果 :
中国 北京 海淀 学院路
资源引用:
】http://www.blogjava.net/Swing/articles/115895.html
split 方法能够很方便的将字符串按照一定的规则拆分开。
比如对于下面的字符串:
Tom,Jane,Tony,Elva,Gigi
只要调用如下的代码就可以将各个名字提取出来:
String value = "Tom,Jane,Tony,Elva,Gigi";
String[] names = value.split(",");
for(int i=0,n=names.length;i<n;i++)
{
System.out.println(names[i]);
}
运行结果:
Tom
Jane
Tony
Elva
Gigi
看到这个运行结果,很多人都认为 split 方法就是按照给定的字符串对字符串进行拆分,知道碰到了下面的问题。
有一个字符串:中国 . 北京 . 海淀 . 学院路。请解析此字符串,并打印输出“中国 北京 海淀 学院路 ”。
于是写代码如下:
String value = " 中国 . 北京 . 海淀 . 学院路 ";
String[] names = value.split(".");
for(int i=0,n=names.length;i<n;i++)
{
System.out.print(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 的方法。读者已经知道,“ . ”在正则表达式中有特殊的含义,因此我们使用的时候必须进行转义。
修改代码如下:
private static void split2()
{
String value = " 中国 . 北京 . 海淀 . 学院路 ";
String[] names = value.split("//.");
for(int i=0,n=names.length;i<n;i++)
{
System.out.print(names[i]+" ");
}
}
运行结果 :
中国 北京 海淀 学院路
资源引用:
】http://www.blogjava.net/Swing/articles/115895.html
相关文章推荐
- 关于String类的split方法
- 【Java面试题】17 如何把一个逗号分隔的字符串转换为数组? 关于String类中split方法的使用,超级详细!!!
- 新关于String类的split方法
- 关于Java中String类的split(String regex)方法的一点困惑
- 关于Java中String类的split(String regex)方法的一点困惑
- 【技术】C#入门:String类的split() 方法中 关于转义字符的问题
- xjl:关于String类的split方法
- String类的split() 方法中 关于转义字符的问题
- 关于String类的split方法
- 4、关于String类的split()方法和append()方法
- 黑马程序员--Java基础加强--14.利用反射操作泛型III【解析关于泛型类型的细节信息的获取方法】【Method与泛型相关的方法】【个人总结】
- 关于iOS开发中XML解析的方法
- String类的split()方法与StringTokenizer方法对字符串分割并输出内容的性能比较
- 关于:无法解析的外部符号 _libiconv报错的解决方法
- js unicode 编码解析关于数据转换为中文的两种方法
- 关于Java中String类的hashCode方法
- 关于3D框架rajawali对obj文件的解析和贴图方法!!!
- Java中String类的split方法
- 关于数值方法的一些算法解析(3)
- 关于mapreduce解析xml的方法