当前位置:  技术问答>java相关

如何将一个用“;”隔开的字符串分解成一个数组

    来源: 互联网  发布时间:2015-01-07

    本文导语:  用java如何将任意一个用“;”隔开的字符串如 String str="avb;ads;pa" 分解成一个数组 String[] strs={"avb","ads",pa"} | 看看StringTokenizer这个类吧。 | public class Choice {   public Choice...

用java如何将任意一个用“;”隔开的字符串如 String str="avb;ads;pa"
分解成一个数组 String[] strs={"avb","ads",pa"}

|
看看StringTokenizer这个类吧。

|
public class Choice {

  public Choice() {
  }
  public static void main(String args[]) {
    String choice="a~1^b~2^c~3^";
    StringTokenizer st = new StringTokenizer(choice, "^");
    while (st.hasMoreTokens()) {
        String func = st.nextToken();
        StringTokenizer st2=new StringTokenizer(func, "~");
        String funcname = st2.nextToken();
        String funcid = st2.nextToken();
        System.out.print(funcname+"  ");
        System.out.print(funcid+"  ");
        }
  }
}
这个类详细说明了StringTokenizer的用法
以~和^来分割字符串

|
     String str="avb;ads;pa";
     StringTokenizer a=new StringTokenizer(str,";");
     int count=e.countTokens();
     int i=0;
     if (count>0)
     {
      try{
          strs=new String[count];
          while(a.hasMoreTokens())
          {
            String token = a.nextToken();
                strs[i]=token;
            i++;
          }
       } 
     catch(ArrayIndexOutOfBoundsException e){System.out.println("数组越界");} 
    



|
public ArrayList split(String source,String splitby){
       int i;
       ArrayList result = new ArrayList();
       while(source.length()>0){
          i = source.indexOf(splitby);
          if (i==-1){
              result.add(source);
              return result;
          }
          result.add(source.substring(0,i));
          source = source.substring(i+splitby.length());
       }
       return result;
    }

|
  public static int getSeparateCount(String string,String substr){
    int returnCount=0;
    while (string.length()>0){
      int i=string.indexOf(substr);
      if(i!=-1) {
        returnCount=returnCount+1;
        string=string.substring(i+substr.length(),string.length());
      }else{
        return 0;
      }
    }
    return returnCount;
  }
  /**获取分割符分割开的字符串个数
   * string 为原字符串
   * substr为分割符字符串
   */
  public static int getStrArrayCount(String source,String separate){
    String str_temp=source;
    if(str_temp.lastIndexOf(separate)+1!=str_temp.length())str_temp=str_temp.concat(separate);
    return getSeparateCount(str_temp,separate);
  }
  /**把字符串按分割符切换成字符串数组
   * string 为原字符串
   * substr为分割符字符串
   *isSaveDivide为是否在数组中保留分割符
   */
  public static String[] getStrings(String source,String separate,boolean isSaveSeparate){
    String str_temp=source;
    if(str_temp.lastIndexOf(separate)+separate.length()!=str_temp.length())
      str_temp=str_temp.concat(separate);
    //System.out.println(str_temp);
    int separateCount=getStrArrayCount(str_temp,separate);
    String[] rtStrings=new String[separateCount];
    for(int k=0;k

    
 
 

您可能感兴趣的文章:

 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 从一个txt文件中读信息,记录之间用回车符隔开,请帮我看看程序
  • 一列保存多个ID(将多个用逗号隔开的ID转换成用逗号隔开的名称)
  • 将所有符合条件的结果拼接成一列并用逗号隔开的一个sql语句


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3