JDK:java1.4
自己拼了一个字符串,要把字符串切割成一个字符数组并且进行相应的赋值操作。
如:String str = "CA(中国国际航空公司)$CA1502$2010-08-20$11:55$2010-08-20$14:20$747$50$2600";
切割操作时,String[] ttt = str.split("$");
结果结果却是ttt.lenth=1
然后切割后的第一个字符ttt[0]就是切割前的字符串。
料想Java的API不应该那么低级吧,这种功能都不能实现,那不是吐血。
之前一个同事用replace方法也是不行的。想想应该是$是特殊字符串吧。是不是需要转义呢。
Goole了一下 确实是这个原因。正确的代码如下:
public static void main(String[] args) {
String str = "CA(中国国际航空公司)$CA1502$2010-08-20$11:55$2010-08-20$14:20$747$50$2600";
String[] ttt = str.split("//$");
System.out.println(ttt.length);
for (int i = 0; i < ttt.length; i++) {
System.out.println(ttt[i]);
}
System.out.println(ttt[0]);
}
确实是需要转义的。