从字符串的所有元素中删除引号[]

时间:2016-10-28 01:19:31

标签: java arrays string trim

我收到了一个文本文件,其中5K +名称全部为大写字母,全部为“双引号”。我用逗号分隔了所有的名字,所以我有一个填充了引号中的名字的填充字符串[]。我需要删除名称中的所有引号,我已尝试使用.trim('“')但不断出错。

这是我的代码:

public class NameScore {

public static void main(String[] args) throws IOException {

    //File path to name list
    String NAME_LIST = "/Users/BR/NameScores/src/p022_names.txt";


    //imports the file with names
    Scanner input = new Scanner(new File(NAME_LIST));

    //Array list that holds the appx. 5K names. Each name split by a comma
    String[] nameList = (input.nextLine()).split(",");
    //puts the list into alphabetical order.
    Arrays.sort(nameList);


    for (int i = 0; i < nameList.length; i++) {

        //nameList[i] = nameList[i].trim('"');
        System.out.println(nameList[i]);

    }
}

}

3 个答案:

答案 0 :(得分:1)

您可以将正则表达式String.replaceAll(String, String)一样使用

System.out.println(nameList[i].replaceAll("\"", ""));

答案 1 :(得分:1)

如@ScaryWombat的评论中所述,如果这是一个有效的CSV文件,您可以使用CSV库(such as opencsv):

CSVReader reader = new CSVReader(new FileReader(".../p022_names.txt"));
List<String[]> allLines = reader.readAll();

for(String[] line: allLines){
    for(String field: line){
        System.out.print(field + "\t"); 
    }
    System.out.println();
}

CSVReader将:

  • 逗号之间的分割字段;
  • 删除每个字段中的周围双引号。

opencsv的maven依赖 :

<dependency>
    <groupId>com.opencsv</groupId>
    <artifactId>opencsv</artifactId>
    <version>3.7</version> 
</dependency>

答案 2 :(得分:0)

使用inputString.replaceAll(“[\ - \ + \。\ ^:,]”,“”);

有关详情,请查看:How to remove special characters from a string?