Java –如何分割字符串
要拆分字符串,请使用 (regex) 。 查看以下示例:
String phone = "012-3456789";
String[] output = phone.split("-");
System.out.println(output[0]);
System.out.println(output[1]);
输出量
012 3456789
注意 此split (regex)将正则表达式作为参数,请记住转义 ,例如句点/点。
1.分割句点/点
句点/点是正则表达式中的特殊字符,您必须使用双反斜杠\.对其进行转义\. 或使用Pattern.quote方法。
TestSplit.java TestSplit.java
package com.mkyong.test
import java.util.regex.Pattern;
public class TestSplit {
public static void main(String[] args) {
String test = "abc.def.123";
String[] output = test.split("\.");
//alternative
//String[] output = test.split(Pattern.quote("."));
System.out.println(output[0]);
System.out.println(output[1]);
System.out.println(output[2]);
}
}
输出量
abc def 123
拆分前的一些常见检查。
TestSplit.java TestSplit.java
package com.mkyong.test
import java.util.regex.Pattern;
public class TestSplit {
public static void main(String[] args) {
String test = "abc.def.123";
if(test.contains(".")){
String[] output = test.split("\.");
if(output.length!=3){
throw new IllegalArgumentException(test + " - invalid format!");
}else{
System.out.println(output[0]);
System.out.println(output[1]);
System.out.println(output[2]);
}
}else{
throw new IllegalArgumentException(test + " - invalid format!");
}
}
}
2. StringTokenizer示例
在过去,Java开发人员喜欢使用类来拆分字符串。 这是因为StringTokenizer类自JDK 1.0起可用,而String.split()自JDK 1.4起可用
TestSplit.java TestSplit.java
package com.mkyong.test
import java.util.StringTokenizer;
public class TestSplit {
public static void main(String[] args) {
String test = "abc.def.123";
StringTokenizer token = new StringTokenizer(test, ".");
while (token.hasMoreTokens()) {
System.out.println(token.nextToken());
}
}
}
输出量
abc def 123
注意 此StringTokenizer是一个旧类,出于兼容性原因而保留,不建议使用! 请使用string.split() 。
参考文献
标签: 标签:
翻译自:
上一篇:
IDEA上Java项目控制台中文乱码
