如何用空格拆分字符串并将空格作为结果中的元素包含在内?多个空格拆分
How to split string with white spaces and include white spaces as elements in the result?multiple white spaces splitting
我用任意数量的白色space分割字符串的代码是
String out="SELECT * FROM EMP WHERE EMPID=10";
String array[] = out.split("\s+");
我想将 "out" 字符串中的白色 space 包含到数组 [] 对象中,同时用白色 space 分割。
我想要的输出是:
array[]={"SELECT","[WHITE SPACE]","*","[WHITE SPACE]","FROM","[WHITE SPACE]","EMP","[WHITE SPACE]","WHERE","[WHITE SPACE]","EMPID=10"}
但我得到的输出是:
array[]={"SELECT","*","FROM","EMP","WHERE","EMPID=10"}
任何帮助将不胜感激
试试这个,
String out="SELECT * FROM EMP WHERE EMPID=10";
out = out.replaceAll("\s+", ",[WHITE SPACE],");
String [] array = out.split(",");
ArrayList<String> list = new ArrayList<String>();
for(String str : array){
list.add(str);
}
System.out.println(list);
输出:
由于 split
接受正则表达式,您可以使用 lookarounds:
out.split("(?<=\s)|(?=\s)");
这将输出:
[SELECT, , *, , FROM, , EMP, , WHERE, , EMPID=10]
请注意,分隔符(在您的情况下为 space)包含在结果中。
尝试这样拆分:
String array[] = out.split("(?=\s)",-1);
密码是:
public static void main(String[] args) {
String out="SELECT * FROM EMP WHERE EMPID=10";
String array[] = out.split("(?=\s)",-1);
for (String string : array) {
System.out.print(string);
}
}
输出:
SELECT * FROM EMP WHERE EMPID=10
我用任意数量的白色space分割字符串的代码是
String out="SELECT * FROM EMP WHERE EMPID=10";
String array[] = out.split("\s+");
我想将 "out" 字符串中的白色 space 包含到数组 [] 对象中,同时用白色 space 分割。 我想要的输出是:
array[]={"SELECT","[WHITE SPACE]","*","[WHITE SPACE]","FROM","[WHITE SPACE]","EMP","[WHITE SPACE]","WHERE","[WHITE SPACE]","EMPID=10"}
但我得到的输出是:
array[]={"SELECT","*","FROM","EMP","WHERE","EMPID=10"}
任何帮助将不胜感激
试试这个,
String out="SELECT * FROM EMP WHERE EMPID=10";
out = out.replaceAll("\s+", ",[WHITE SPACE],");
String [] array = out.split(",");
ArrayList<String> list = new ArrayList<String>();
for(String str : array){
list.add(str);
}
System.out.println(list);
输出:
由于 split
接受正则表达式,您可以使用 lookarounds:
out.split("(?<=\s)|(?=\s)");
这将输出:
[SELECT, , *, , FROM, , EMP, , WHERE, , EMPID=10]
请注意,分隔符(在您的情况下为 space)包含在结果中。
尝试这样拆分:
String array[] = out.split("(?=\s)",-1);
密码是:
public static void main(String[] args) {
String out="SELECT * FROM EMP WHERE EMPID=10";
String array[] = out.split("(?=\s)",-1);
for (String string : array) {
System.out.print(string);
}
}
输出:
SELECT * FROM EMP WHERE EMPID=10