将不同的字符串与文本分开

时间:2013-06-02 16:44:39

标签: android string arraylist readline

我想读取一个txt文件,其中包含由字符串分隔的许多不同文本块。在xcode中,这很简单,我只是使用它。

self.Array = [text componentsSeparatedByString: @"NEWSTRING"];

我似乎没有让它在android中工作,但是我可以阅读整个文本并将其放入一个数组中,但它不会分开,所以它只是一个长文本。

我正在使用此代码

        AssetManager mngr;
    String line = null;
    boolean skillcheck = false;
    StringBuffer sb = new StringBuffer(0);
    String[] bb = null;
    tester = new ArrayList <String>();
    try {   
    mngr = getAssets();
    InputStream is = mngr.open("mytext.txt");
    InputStreamReader sir = new InputStreamReader(is);
    BufferedReader br = new BufferedReader(sir);
    while((line=br.readLine()) != null) {


        sb.append(line);
        sb.append("\n");



    }


    tester.add(sb);



    br.close();

    } catch (IOException e1) {


    }

有什么好方法吗?

2 个答案:

答案 0 :(得分:2)

您应该使用StringTokenizer

StringTokenizer sTok=new StringTokenizer(stringVariable, "newString");
while(sTok.hasMoreTokens())
System.out.println(sTok.nextToken());

stringVariable是文件内容,newString是分隔符字符串。

修改

StringTokenizer的构造函数的第二个参数是delimiter。它可以是新行\n或逗号,或您想要的任何内容。

答案 1 :(得分:2)

您可以使用String.split方法

String[] result = text.split("sometext");

您的确认

  

String.split返回通过拆分计算的字符串数组   给定正则表达式匹配的字符串