两个的差别:
public static void main(String[] args) { String str = "1,2,,3"; String delimiter = ","; StringTokenizer tokens = new StringTokenizer(str, delimiter); while(tokens.hasMoreTokens()) { System.out.println(tokens.nextToken()); } System.out.println("---------无聊的分割线---------"); String[] result = str.split(delimiter); for (int i = 0; i < result.length; i++) { System.out.println(result[i]); } }
输出:
1
2
3
———无聊的分割线———
1
2
空
3
public String[] split(String regex)
根据给定正则表达式的匹配拆分此字符串。
该方法的作用就像是使用给定的表达式和限制参数 0 来调用两参数 split 方法。因此,所得数组中不包括结尾空字符串。
例如,字符串 "boo:and:foo" 使用这些表达式可生成以下结果:
Regex 结果
: { "boo", "and", "foo" }
o { "b", "", ":and:f" }
参数:
regex – 定界正则表达式
返回:
字符串数组,它是根据给定正则表达式的匹配拆分此字符串确定的
抛出:
PatternSyntaxException – 如果正则表达式的语法无效
从以下版本开始:
1.4
注意: 使用转义字符.
如:
String str = "192.168.1.1"; String[] strs = str.split("\\."); for (String string : strs) { System.out.println(string); }
输出:
192
168
1
1
var str:String = "192.168.1.1"; var strsArray = str.split("\.");//str.split("."); for each(var s:String in strsArray) { trace(s); } for(var s:String in strsArray) { trace("for in " + strsArray); }
输出信息:
for-each-in 192
for-each-in 168
for-each-in 1
for-each-in 1
for in 0
for in 1
for in 2
for in 3
另外, 在AS中, for in 和for each in 的区别:
for-each-in 类似于Java5.0之后的for-in, 如上所使用
在AS中for-in的循环迭代于变量名中, 如上AS代码中的for-in输出的是Array的index[下标], 如果要打印value, 则应使用 在trace中使用strsArray[s].
// Proudly powered by Apache, PHP, MySQL, WordPress, Bootstrap, etc,.