当前位置: 首页 > 知识库问答 >
问题:

在java、int和String中拆分逗号分隔的值

储臻
2023-03-14

我在文本文件中有以下内容要导入ArrayList:

澳大利亚,2

加纳,4

中国,3

西班牙,1

我的ArrayList由来自另一个类Team的对象组成,该类具有TeamName和排名字段。我可以获取以下内容以将String和int导入团队名称,但我无法分离应该是团队排名的数字:

  public void fileReader()
  {
    try
    {
        String filename = "teams.txt";
        FileReader inputFile = new FileReader(filename);
        Scanner parser = new Scanner(inputFile);

        for (Team teams : teams)
        {                 
            teams.setTeamName(parser.next());
            teams.setRanking(parser.next()); //this doesn't work
        }
    }

    catch (IOException e)
    {
        System.out.println("Cannot find file");
    }

}

我猜我必须在该行的某个地方使用拆分,或者将字符串转换为整数??

共有3个答案

东方和惬
2023-03-14

您可以编写如下代码来满足您的目的。用例中有两个令牌,即逗号(,)和新行(\n)。因此,next()不能直接使用。

我检查每一行,然后用逗号标记每一行,最后得到后续的标记。

try
    {
        String filename = "teams.txt";
        FileReader inputFile = new FileReader(filename);
        Scanner parser = new Scanner(inputFile);

        for (Team teams : teams)
        {   
            String[] splitLine = sc.nextLine().split(","); // comma delimited array

            teams.setTeamName(splitLine[0]);
            teams.setRanking(splitLine[1]); 
        }
    }
严成礼
2023-03-14

默认情况下,扫描仪将使用空白作为分隔符

通过在用例解析器中调用useDelimiter方法来覆盖此。useDelimiter(',');

然后将排序字符串转换为int。nextInt()

何章横
2023-03-14

查看opencsv。现在是2018年,您不应该自己解析文本文件:)。

 类似资料:
  • 问题内容: 我的数据库中有列,其中的值如下所示: 在虚拟列中没有任何编号。逗号分隔的值可以出现。我尝试了以下查询,但它正在创建重复的结果。 我不明白这个问题。谁能帮忙? 问题答案: 非常适合我- 还有许多其他方法可以实现它。阅读将单个逗号分隔的字符串拆分成行。 *关于使用列而不是单个字符串值时的重复项的 *更新 。只见PRIOR子句中使用DBMS_RANDOM的摆脱循环回路的在这里 尝试以下方法

  • 问题内容: 我有一个其中有很多记录的记录,我想知道其中有多少个名字,以及其中一个名字多少时间。 表名 我想找到多少个名字及其数量。 预期的输出应该是这样的 帮助我解决它。 问题答案: 结果:

  • 问题内容: 我返回的值包含255个逗号分隔的值。有没有一种简单的方法可以将其拆分为不具有255 substr的列? 到 问题答案: 您可以使用: 我建议您在Excel(或其他电子表格)中生成255个数字的列,并使用电子表格生成SQL代码。

  • 问题内容: 我的文字如下: 谁能告诉我我必须使用哪些正则表达式分度数才能获得以下结果: 我在这里阅读Sun教程,直到“ Matcher类的方法”为止,但我仍然茫然。谢谢! 如果是这样,那将很容易,但是不幸的是,事实并非如此。有任何想法吗? 问题答案: 您可以直接使用split()方法,如下所示: (请注意,这将返回长度为5的数组,第一个位置为空字符串) 或者,如果您想使用模式/匹配器,可以这样做:

  • 在逗号处划分字符串的最佳方法是什么,这样每个单词都可以成为ArrayList的一个元素? 例如:

  • 我有一个PySpark数据帧,其中一列包含逗号分隔的值。该列包含的值的数量是固定的(例如4)。示例: 在这里,我想将col2拆分为4个单独的列,如下所示: 如何做到这一点?