我想使用正则表达式而不是 StringTokenizer 来拆分字符串。我正在使用 String.split(regex); 正则表达式包含元字符,当我使用 \[ 它在返回数组中返回额外的空间。
import java.util.Scanner;
public class Solution{
public static void main(String[] args) {
Scanner i= new Scanner(System.in);
String s= i.nextLine();
String[] st=s.split("[!\\[,?\\._'@\\+\\]\\s\\\\]+");
System.out.println(st.length);
for(String z:st)
System.out.println(z);
}
}
当我输入输入时[a\m]
,它返回数组长度为 3 和
a m
空间也在前一个。谁能解释为什么会发生这种情况以及我该如何纠正它。我不希望结果数组中有额外的空间。