參考鏈接: Java中的StringTokenizer方法的示例 2
[size=medium]1.用split()方法進行分割,分割開的子字符串放入數組,然后進行處理。?
示例代碼如下:?
public class SplitTest
{?
/**?
* @param args?
* @author colin?
*/?
public static void main(String[] args) {?
String str="I love Dannie";//定義字符串?
String[] array= new String[10];?
array=str.split(" ");?
for(String a :array){?
System.out.println(a+" ");?
}?
}?
}?
?
2.用StringTokenizer類進行操作?
示例代碼如下:?
public class SplitStr {
?static String str="123-456-789";
?public static void main(String[] args) {
?StringTokenizer st=new StringTokenizer(str, "-");
?ArrayList< String> al=new ArrayList<String>();
?while (st.hasMoreTokens()) {
?String s= (String) st.nextElement();?
?al.add(s);
?}
?Object[] o= al.toArray();
?for (int i = 0; i < o.length; i++) {
?System.out.print((String)o[i]+",");
?}
?}
}
?
3.用indexOf()方法進行定位,然后用substring()進行截取,然后操作。?
示例代碼如下:?
package cn.liuc.string;
?
public class FengeString {
?
?public static void main(String[] args) {
?String str = "I love dannie";
?String[] array = new String[10];// 定義數組
?String temp = str;// 定義一個 字符串變量,把str賦給他,保持str字符串不變
?/*
?* 第一個for循環用于對字符串進行分割 尋找空格 的 位置 ,然后進行截取,當尋找到最后 找不到空格的
?* 時候,indexOf()方法會返回-1這個值,表示找不到了。
?*/
?
?for (int i = 0; i < array.length; i++) {
?int index = temp.indexOf(" ");// 尋找空格的位置
?System.out.println("index=" + index);
?if (index == -1) {
?array[i] = temp;// 找不到空格的時候表示就剩下最后一個字符串了
?// ,不需要分割,直接賦值給數組,然后break跳出循環。
?break;
?}
?array[i] = temp.substring(0, index);
?temp = temp.substring(index + 1);
?System.out.println("temp=" + temp);
?}
?System.out.println("---------------------------");
?/*
?* java中的強制for循環輸出array中的字符串
?*/
?for (String a : array) {
?System.out.print(a + " ");
?}
?System.out.println();
?System.out.println("---------------------------");
?/*
?* 普通for循環輸出array中的字符串
?*/
?for (int i = 0; i < array.length; i++) {
?if (("").equals(array[i]) || null == array[i]) {
?break;
?}
?System.out.print(array[i] + " ,");
?}
?}
}
?
4.
/**
*Author liuc
*
*/
public class SplitStr2 {
?static ArrayList<String> al=new ArrayList<String>();
?public static void main(String[] args) {
?String[] splitStr=splitStr("123.456.789",".");
?for (int i = 0; i < splitStr.length; i++) {
?System.out.print(splitStr[i]+",");
?}
?}
?private static String[] splitStr(String str, String delimter) {
?int index=str.indexOf(delimter);
?if (index==-1) {
?al.add(str);
?}else{
?al.add(str.substring(0,index));
?splitStr(str.substring(index+1, str.length()), delimter);
?}
?String s[]=new String[al.size()];
?for (int i = 0; i < s.length; i++) {
?s[i]=al.get(i);
?}
?return s;
?}
}[/size][/size]