-2

我正在做一个项目,只是想进行一些练习编程。我遇到了一个颠簸。

我正在尝试从组织如下的文本文件中获取名称:["name", "name", "name", "name"]并将每个名称转换为不带标点符号的名称,并将它们转换为ArrayList.

一旦名称在列表中,我将使用我拥有的另一段代码对它们进行排序。任何人都可以帮我解决这个问题吗?

4

3 回答 3

2

您可以String#split,分隔符上并从结果数组项中删除所有"[]字符。

ArrayList这将从数组中创建一个:

List<String> list = new ArrayList<String>(Arrays.asList(stringArray));

剧透

String names = "[\"Tony Parker\", \"John Smith\", \"Michelle\", \"David\"]";
System.out.println(Arrays.asList(names.replaceAll("[\\[\\]\"]", "").split(", ")));
  • 用空字符串替换所有不需要的字符
  • 将序列“,”上的字符串拆分为一个数组
  • 将数组转换为列表(实际上是:创建数组的列表视图
于 2012-08-03T20:02:15.597 回答
1

干得好。这向您展示了如何获取名称字符串并将每个名称放入数组列表的基础知识

import java.util.ArrayList;
public class Practice 
{
    public static void main(String[] args)
    {
        // Initialize Variables
        String names = "['Tony Parker', 'John Smith', 'Michelle', 'David']";
        ArrayList<String> namesList = new ArrayList<String>();
        int startingPoint = 0;


        // Replace All Unwanted Characters In String With White Space
        names = names.replace("[", "").replace("]", "").replace("'", "");


        // Trim The String Down And Then Add A Comma At The End
        names.trim();
        names = names + ",";



        // For Each Comma That Is Encountered, Add The Name into The ArrayList
        for (int i = 0; i < names.length(); i++)
        {
            if (names.charAt(i) == ',')
            {
                namesList.add(names.substring(startingPoint, i));
                startingPoint = i +1;
            }
        }



        // Print Out The Array List Of Names
        System.out.println(namesList);
    }
}
于 2012-08-03T20:02:44.227 回答
0

您真的应该在这里阅读如何提出更好的问题,但这里有两个链接可以帮助您入门:

http://www.leepoint.net/notes-java/io/10file/10readfile.html

http://docs.oracle.com/javase/1.4.2/docs/api/java/lang/String.html#split(java.lang.String )

于 2012-08-03T20:03:26.863 回答