【问题标题】:How to get every String from an ArrayList [closed]如何从 ArrayList 中获取每个字符串 [关闭]
【发布时间】:2012-11-07 19:14:53
【问题描述】:

我想从我的 ArrayList 中获取一个字符串,但它包含来自我的输入文件的行。如何正确拆分它们以拥有所有元素?

我的程序如下所示:

private static ArrayList<String> lista;

static void fileReading() {
    inp = new LineNumberReader(new BufferedReader(new InputStreamReader(new FileInputStream(inFileNev), "ISO8859-1")));

    String sor;
    while ((sor = inp.readLine()) != null) {

    lista.add(sor);
    lista.add(System.getProperty("line.separator"));   
}

在另一种方法中,我怎样才能得到这个列表只列出一个字符串而不是行?

编辑:

Vineet Verma 你的代码很棒,但它让我得到了一个很棒的字符串,我需要知道其中字符串的索引,稍后替换它们,我不能只用一个字符串完成它。

如果我使用它,它仍然无法正常工作:

    String[] temp=null;
for(String s : lista) {
   temp = s.split("\\W+"); 
} 

System.out.println(temp);

我得到:[Ljava.lang.String;@6ef53890

我得到了很多:[Ljava.lang.String;@6ef53890

如果我使用这个:

   String str ="" ;
    for(int i=0; i<lista.size(); i++){
     str+=lista.get(i)+" ";

  String[] temp = new String[str.length()];
  for(int i=0; i < str.length(); i++) {
       temp[i]=str.valueOf(i);
       System.out.println(temp[i]);         
  }

我只得到数字,不知道如何从 str 中获取字符串。

【问题讨论】:

  • 什么是行的“元素”?
  • 该行是一个字符串...我不明白这个问题。
  • 您是否要逐字逐句遍历每一行?
  • 您的要求不清楚。;你想要什么???

标签: java loops arraylist


【解决方案1】:

使用此代码解决您的问题:

其他方法

public String convertToString(ArrayList<String> al)
{
String str ="" ;
for(int i=0; i<al.size;i++){str+=al.get(i)+" ";}
return str;
}

如果我正确理解您的查询,那么这就是解决方案

【讨论】:

    【解决方案2】:

    您需要的是在单词边界处拆分。您可以将以下示例代码用于简单案例(这只是一个示例,可能并不准确。阅读this tutorial 了解满足您需求的更具体的正则表达式)。

    String [] words = line.split("\\W+");
    

    注意:单词边界是特定于语言的,如果您确实需要 i18n 安全拆分,则需要使用 i18n 库。

    在 google 中搜索“在单词边界处分割”。

    【讨论】:

    • 例如文件开头:"package asd;"我需要字符串“package”和“asd”;而不是整条线。感谢您的教程,我知道 split() 方法,但我无法正确使用它,它不起作用。有人有这个代码吗?
    • 谢谢,我已经编辑了我的问题,因为它仍然无法正常工作
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-13
    • 2017-11-29
    • 1970-01-01
    • 1970-01-01
    • 2016-02-05
    • 1970-01-01
    相关资源
    最近更新 更多