A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 盛祖华 中级黑马   /  2012-3-19 01:15  /  2174 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

怎样把一段逗号分割的字符串转换成一个数组?

5 个回复

倒序浏览
本帖最后由 叶绍亮 于 2012-3-19 01:37 编辑

String 类的split方法可以根据给定正则表达式的匹配拆分字符串,可以把字符串分离成单个字符的形式.
string tokenizer 类允许应用程序将字符串分解为标记.
StringTokenizer 方法不区分标识符、数和带引号的字符串,它们也不识别并跳过注释。可以在创建时指定,也可以根据每个标记来指定分隔符(分隔标记的字符)集.
实例有两种行为方式,这取决于它在创建时使用的 returnDelims 标志的值是 true 还是 false:
如果标志为 false,则分隔符字符用来分隔标记。标记是连续字符(不是分隔符)的最大序列。
如果标志为 true,则认为那些分隔符字符本身即为标记。因此标记要么是一个分隔符字符,要么是那些连续字符(不是分隔符)的最大序列。
StringTokenizer 对象在内部维护字符串中要被标记的当前位置。某些操作将此当前位置移至已处理的字符后。通过截取字符串的一个子串来返回标记,该字符串用于创建 StringTokenizer 对象。
回复 使用道具 举报
1. 用正则表达式,代码大概为:String [] result = orgStr.split(“,”);

     2. 用 StingTokenizer ,代码为:StringTokenizer  tokener = StringTokenizer(orgStr,”,”);

     String [] result = new String[tokener .countTokens()];

     Int i=0;

     while(tokener.hasNext(){result[i++]=toker.nextToken();}

{:soso_e125:}
回复 使用道具 举报
方法有两个重载模式。
a、String[] split(String regex)
b、String[] split(String regex, int limit)

解读:这是一个返回值是String数组的方法,
regex是用于切割字符串的标志字符/字符串;
limit是一个整数值,用于限制切割时生成的数组的最大上限个数,比如
~~~~~~~~~~~~~~~~~~~~
String str = new String("my java is so poor”)
String[] strArr = str.split(" ",2);   
~~~~~~~~~~~~~~~~~~~~
结果是strArr[0] "my"  strArr[1] "java is so poor",即后面的空格不在被切割,因为limit限制split返回的数组只能有两个元素。
小心的补充一句~~~如果limit的值大于实有的切割元素数目,比如这里的limit如果传递了一个20,对结果是没有影响的。。。
回复 使用道具 举报
char[] ch = str.toCharArray();直接用这个
回复 使用道具 举报
public class FileWriterDemo
{
        public static void main(String[] args)
    {
            String str="a,asd,f,df,g,fdsg,df,h";
         
        
            String[] arr1 = str.split(",");
           
      
            for(int x=0; x<arr1.length;x++)
        {
                 System.out.println(arr1[x]);
        }
         
            }

        }这么整对不
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马