Java字符串分割方法

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();
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 al=new ArrayList();
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]

你可能感兴趣的:(javaEE)