【问题标题】:Separate different Strings from text从文本中分离不同的字符串
【发布时间】:2013-06-02 16:44:39
【问题描述】:

我想读取一个 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) {


    }

有什么好的方法吗?

【问题讨论】:

    标签: android string arraylist readline


    【解决方案1】:

    你可以使用String.split方法

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

    为了您的认可

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

    【讨论】:

      【解决方案2】:

      你应该使用StringTokenizer

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

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

      编辑

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-08-27
        • 1970-01-01
        • 2011-06-18
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多