关于string.split问题,知道的进啊!
- Java code
public class Test{ public static void main(String[]args){ String sql="ab cde fghi jklmn opq"; String[]ob=sql.split(" "); for(String t:ob) System.out.println(t); }}结果为:
ab
cde
fjhi
jklmn
opq
而我想要的结果是:
ab
cde
fjhi
jklmn
opq
[解决办法]
[解决办法]
ab cde fghi jklmn opq
你字符串 字母和字母之间的空格数量不一样 才导致的
String[]ob=sql.split(" ");
这样写 是以一个空格的大小为中间量分解数组
你吧字符串之间的空格数都控制在一个上就 出现你要的结果了
ab cde fghi jklmn opq 这样的字符串
[解决办法]
- Java code
String sql="ab cde fghi jklmn opq"; sql = sql.replaceAll("\\s+", " "); String[]ob=sql.split(" "); for(String t:ob) System.out.println(t);
[解决办法]
- Java code
public class Test{ public static void main(String[]args){ String sql="ab cde fghi jklmn opq"; String[]ob=sql.split("\\s+"); for(String t:ob) System.out.println(t); }}
[解决办法]
使用StringTokenizer
String的split(" ")如果碰到有3个" "它把第一个做为匹配格式的 然后就得到后两个。
StringTokenizer的话是无视有几个" "的 都视为匹配的符号。
如:this is a test
得到:
this
is
a
test
[解决办法]
用StringTokenizer吧,标准的分割
[解决办法]
“\\s” A whitespace character: [ \t\n\x0B\f\r]
并不一定都是空格