java.lang.string.split
原文:[url]http://www.roboticfan.com/blog/user_2005/104/archives/2006/200638185334.shtml[/url]
split 方法
将一个字符串分割为子字符串,然后将结果作为字符串数组返回。
stringObj.split([separator,[limit]])
参数
stringObj
必选项。要被分解的 String 对象或文字。该对象不会被 split 方法修改。
separator
可选项。字符串或 正则表达式 对象,它标识了分隔字符串时使用的是一个还是多个字符。
Re:java中split使用简介
流子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 的方法。读者已经知道,“ . ”在正则表达式中有特殊的含义,因此我们使用的时候必须进行转义。
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]);
}
}
输出结果:
192
168
128
33
Re:java中split使用简介
你好:这个大哥有没有试对IP以点号分组呢?比如:192.168.128.33 这个IP,我想以“.”号分组,试了很久,就不管用,不知道为什么啊,更是不知道该如何对IP分组啊?能帮忙解答一下吗?
[quote][b]以下为blog主人的回复:[/b] 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 的方法。读者已经知道,“ . ”在正则表达式中有特殊的含义,因此我们使用的时候必须进行转义。 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]); } } 输出结果: 192 168 128 33 good luck![/quote]
原文:[url]http://www.roboticfan.com/blog/user_2005/104/archives/2006/200638185334.shtml[/url]
split 方法
将一个字符串分割为子字符串,然后将结果作为字符串数组返回。
stringObj.split([separator,[limit]])
参数
stringObj
必选项。要被分解的 String 对象或文字。该对象不会被 split 方法修改。
separator
可选项。字符串或 正则表达式 对象,它标识了分隔字符串时使用的是一个还是多个字符。
Re:java中split使用简介
流子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 的方法。读者已经知道,“ . ”在正则表达式中有特殊的含义,因此我们使用的时候必须进行转义。
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]);
}
}
输出结果:
192
168
128
33
Re:java中split使用简介
你好:这个大哥有没有试对IP以点号分组呢?比如:192.168.128.33 这个IP,我想以“.”号分组,试了很久,就不管用,不知道为什么啊,更是不知道该如何对IP分组啊?能帮忙解答一下吗?
[quote][b]以下为blog主人的回复:[/b] 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 的方法。读者已经知道,“ . ”在正则表达式中有特殊的含义,因此我们使用的时候必须进行转义。 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]); } } 输出结果: 192 168 128 33 good luck![/quote]