黑马程序员技术交流社区

标题: 字符串转换为数组 [打印本页]

作者: 盛祖华    时间: 2012-3-19 01:15
标题: 字符串转换为数组
怎样把一段逗号分割的字符串转换成一个数组?
作者: 叶绍亮    时间: 2012-3-19 01:28
本帖最后由 叶绍亮 于 2012-3-19 01:37 编辑

String 类的split方法可以根据给定正则表达式的匹配拆分字符串,可以把字符串分离成单个字符的形式.
string tokenizer 类允许应用程序将字符串分解为标记.
StringTokenizer 方法不区分标识符、数和带引号的字符串,它们也不识别并跳过注释。可以在创建时指定,也可以根据每个标记来指定分隔符(分隔标记的字符)集.
实例有两种行为方式,这取决于它在创建时使用的 returnDelims 标志的值是 true 还是 false:
如果标志为 false,则分隔符字符用来分隔标记。标记是连续字符(不是分隔符)的最大序列。
如果标志为 true,则认为那些分隔符字符本身即为标记。因此标记要么是一个分隔符字符,要么是那些连续字符(不是分隔符)的最大序列。
StringTokenizer 对象在内部维护字符串中要被标记的当前位置。某些操作将此当前位置移至已处理的字符后。通过截取字符串的一个子串来返回标记,该字符串用于创建 StringTokenizer 对象。
作者: 冯林    时间: 2012-3-19 01:31
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:}
作者: 丁佼    时间: 2012-3-19 01:53
方法有两个重载模式。
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,对结果是没有影响的。。。
作者: 朱鹏举    时间: 2012-3-19 09:18
char[] ch = str.toCharArray();直接用这个
作者: djx900    时间: 2012-3-19 10:55
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]);
        }
         
            }

        }这么整对不




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2