一,字符串的分割
(1)采用正则表达式 使用split()方法切割字符串
String s1 = "2021年5月7日";
String[] s2 = s1.split("\\D");//采用非0~9的数字的方法分割
for (int i =0 ; i < s2.length; i ++) {
System.out.println(s2[i]);//输出结果2021 5 7
}
当然,也可以使用别的符号进行分割,例如:逗号,感叹号!空格等等。
String s1 = "you.are!a student";
String[] s2 = s1.split("[.! ]");
for (int i =0 ; i < s2.length; i ++) {
System.out.println(s2[i]);//输出结果you are a student
}
(2)使用StringTokenizer类进行切割字符串,引入java.util.StringTokenize;包
import java.util.StringTokenizer;
public class Test1 {
public static void main(String[] args) {
// TODO 自动生成的方法存根
StringTokenizer st = new StringTokenizer ("you are a student");//默认空格为分隔符
System.out.println(st.countTokens());//计算字符串的个数
while (st.hasMoreTokens()) {//返回是否还有分隔符
System.out.println(st.nextToken());//返回从当前位置到下一个分隔符的字符串
}
}
}
也可,使用其他的分隔符,如下
public class Test1 {
public static void main(String[] args) {
// TODO 自动生成的方法存根
StringTokenizer st = new StringTokenizer ("you.are,a!student","[.,!]");//默认空格为分隔符
System.out.println(st.countTokens());//计算字符串的个数
while (st.hasMoreTokens()) {//返回是否还有分隔符
System.out.println(st.nextToken());//返回从当前位置到下一个分隔符的字符串
}
}
}
(3)可以引入Scanner类进行切割字符串,引入java.util.Scanner;包
import java.util.Scanner;
public class Test2 {
public static void main(String[] args) {
// TODO 自动生成的方法存根
Scanner sc = new Scanner("you are a student");
sc.useDelimiter(" ");
while (sc.hasNext()) {
System.out.println(sc.next());
}
}
}
采用其他分隔符,如下;
import java.util.Scanner;
public class Test2 {
public static void main(String[] args) {
// TODO 自动生成的方法存根
Scanner sc = new Scanner("you.are!a,student");
sc.useDelimiter("[.!,]");
while (sc.hasNext()) {
System.out.println(sc.next());
}
}
}