从文本文件中取出行,将其转换为数组,拆分它然后随机选择一个单词

时间:2016-04-28 04:09:15

标签: java arrays split text-files delimiter

截至目前,我有一个名为lol.txt的文本文件,我的代码在文件中打印出一行“|”每个单词之间。例如,第一行打印“hello | howdy | hola”,我想将它拆分为管道,这样我就可以从该行中随机选择一个问候语。我很困惑为什么我的分隔符不工作以及如何将它转换为数组,所以我可以采用第一行的索引,因此greeting [0]会打印“hello”。

Polygon.prototype.fun= function(a){return a*a};

1 个答案:

答案 0 :(得分:0)

首先,您应该将拆分的结果存储在一个新变量中,因为它将返回一个新的String数组(String[])。其次,您需要转义管道分隔符(Splitting a Java String by the pipe symbol using split("|"))。

结果代码将是:

Scanner sc = new Scanner(System.in);

// open file and prompt for file name
System.out.print("Enter a file name: ");
String fileName = sc.nextLine();
File infile = new File(fileName);
Scanner readIt = new Scanner(infile);

String greeting = readIt.nextLine();
System.out.println(greeting); //prints hello|howdy|etc...
String[] greetingSplit = greeting.split("\\|");
System.out.println(greetingSplit[0]); //prints hello

然后,您可以选择介于0和greetingSplit.length之间的随机数,以查找随机字词的索引并打印该字词。