【问题标题】:Taking text and making it a string获取文本并使其成为字符串
【发布时间】:2012-08-01 21:33:41
【问题描述】:

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

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

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

【问题讨论】:

  • 如果初始字符串中包含“”,我不太确定如何执行此操作,因此我用“”编写了一个解决方案。如果那对不起完全没用的话!

标签: java string text input


【解决方案1】:

您可以在, 分隔符上使用String#split,并在结果数组项中使用remove 所有"[] 字符。

这将从数组中创建一个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(", ")));
  • 用空字符串替换所有不需要的字符
  • 将序列“,”上的字符串拆分成一个数组
  • 将数组转换为列表(实际上是:创建数组的列表查看

【讨论】:

    【解决方案2】:

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

    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);
        }
    }
    

    【讨论】:

    • 为什么不在, 上拆分?如果名称包含空格,您的解决方案将失败。
    • 已修复。对于那个很抱歉。现在像托尼帕克这样的名字,工作!感谢您的提醒!
    【解决方案3】:

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

    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)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-07-05
      • 1970-01-01
      • 1970-01-01
      • 2021-02-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多