String aaa中有N个“;”(分号),如何截取指定第几个分号与下一个分号中间的字符串,和最后一个分号后的字符串?

解决方案 »

  1.   

    用aaa.split(";"),返回来的是一个String数组,查一下就行了
      

  2.   


    public class Test1 { /**
     * @param args
     */
    public static void main(String[] args) {
    // TODO Auto-generated method stub
    String aaa = "sss;sdad;sad;asd;asd";
    Test1 a = new Test1();
    System.out.println(a.display(aaa, 3, 4));


    }

    public String display(String str,int a,int b) {
    int count = 0;
    int start = 0;
    int end = 0;
    for(int i=0;i<str.length();i++) {
    char c = str.charAt(i);
    if(c == ';') {
    count ++;
    if(count == a) {
    start = i+1;

    }
    if(count == b) {
    end = i;
    }
    }
    }

    return str.substring(start, end);

    }


    }
      

  3.   


    package cn.com;public class StringSplit { /**
     * @param args
     */
    public static void main(String[] args) {
    String str = "aa;bb;cc;dd";
    String strm[] = str.split(";");
    System.out.println(strm[1]); //第一个跟第二个分号间内容
    System.out.println(strm[strm.length-1]);// 最后一分号内容
    }}
      

  4.   

    用split方法import java.util.Arrays;
    public class Test1 { /**
     * @param args
     */
    public static void main(String[] args) {
    // TODO Auto-generated method stub
    String aaa = "sss;sdad;sad;asd;asd";
    String[] b = aaa.split(";");

    System.out.println(display(b,1,3));



    }

    public static String display(String[] str,int a,int b) {
    StringBuffer sb = new StringBuffer();
    for(int i=a;i<b;i++) {
    sb.append(str[i]);
    }
    return sb.toString();


    }


    }
      

  5.   

    说明一下,例如String aaa = "aa;bb;cc;dd;ee",调用aaa.split(";")返回的数组就是{aa,bb,cc,dd,ee}
      

  6.   

    看看下面的代码,相信能帮助你import java.util.*;import javax.swing.JOptionPane;public class CompareString {
    public static void main(String args[]) {
    Set set = new HashSet();
    // 你给的值
    String value = ";1;12;16;56";
    StringTokenizer st = new StringTokenizer(value, ";");
    String temp[] = new String[st.countTokens()];
    int i = 0;
    while (st.hasMoreTokens()) {
    temp[i] = new String(st.nextToken());
    i++;
    }
    for (int j = 0; j < temp.length; j++) {
    System.out.println("temp["+j+"]="+temp[j]);
    }
    // if(d==false){
    // JOptionPane.showMessageDialog(null, "该数字不在value中");
    // }
    }
    }