2007-08-21

字符串分割的两种方法

关键字: 字符串 分割
java 代码
 
  1. 方法1:采用String的split,验证代码如下:  
  2. import java.util.Arrays;  
  3. public class TestSplit {  
  4.  public static void main(String[] args) {  
  5.   String orignString = new String("5,8,7,4,3,9,1");  
  6.   String[] testString = orignString.split(",");  
  7.   int[] test = { 0000000 };  
  8.   //String to int  
  9.   for (int i = 0; i < testString.length; i++) {  
  10.    test[i] = Integer.parseInt(testString[i]);  
  11.   }  
  12.   //sort  
  13.   Arrays.sort(test);  
  14.   //asc sort  
  15.   for (int j = 0; j < test.length; j++) {  
  16.    System.out.println(test[j]);  
  17.   }  
  18.   System.out.println("next ");  
  19. //  desc  
  20.      for (int i = (test.length - 1); i >= 0; i--) {  
  21.       System.out.println(test[i]);  
  22.      }  
  23.  }  
  24. }  
  25. 方法2:采用StringTokenizer  
  26.   
  27. import java.util.Arrays;  
  28. import java.util.StringTokenizer;  
  29. public class SplitStringTest {  
  30.  public static void main(String[] args) {  
  31.   String s = new String("5,8,7,4,3,9,1");    
  32.   int length = s.length();  
  33.   //split   s with ","  
  34.   StringTokenizer commaToker = new StringTokenizer(s, ",");  
  35.   String[] result = new String[commaToker.countTokens()];  
  36.   int k = 0;  
  37.   while (commaToker.hasMoreTokens()) {  
  38.    result[k] = commaToker.nextToken();  
  39.    k++;  
  40.   }  
  41.   int[] a = new int[result.length];  
  42.   for (int i = 0; i < result.length; i++) {  
  43.    a[i] = Integer.parseInt(result[i]);  
  44.   }  
  45.   //sort  
  46.   Arrays.sort(a);  
  47.   //asc sort  
  48.   for (int j = 0; j < result.length; j++) {  
  49.    System.out.println(a[j]);  
  50.   }  
  51.  }  
  52. }   
评论
pippo25 2007-10-09
split使用正则表达式,所以对于.(正则表达式中的特殊字符)等操作符要特殊处理。如split("[.]")
Eastsun 2007-09-27
楼上正解
ps:正则式是个好东西
lonelyblue 2007-09-27
引用
好帖,顶下,以前只知道用split


StringTokenizer 是出于兼容性的原因而被保留的遗留类(虽然在新代码中并不鼓励使用它)。建议所有寻求此功能的人使用 String 的 split 方法或 java.util.regex 包。
—— JAVA5.0API_CN

典型的瞎评论。
hellsing42 2007-08-21
但是split有些字符需要转义符例如.的分割要用\\.
hellsing42 2007-08-21
好帖,顶下,以前只知道用split
julycn
搜索本博客
我的相册
E09a394b-4b16-328b-8e1d-9ef916ee23c2-thumb
seam.jpg
共 13 张
存档
最新评论