我想将以下输入从文本文件转换为列格式。
输入文字:
我要去芝加哥。
X1:去
X2:我是
X3:去芝加哥
他在踢足球。
X1:正在播放
X2:他
X3:足球
预期产出:
I X2
am X2
去X1
到X3
芝加哥X3
何X2
是X1
玩X1
足球X3
FileInputStream fis = new FileInputStream("/input.txt");
BufferedReader br = new BufferedReader(new
InputStreamReader(fis,"UTF-8"));
while((line = br.readLine())!=null)
{
if(!(line.startsWith("X1:")
{
String words[]=line.split(" ");
for(int i=0;i<words.length;i++)
{
//System.out.println(words[i]);
String abc[] = words[i].split(" ",100);
String w="";
for(int j=0; j<abc.length;j++)
{
//System.out.println(abc[j]);
if(j<99)
//w=w+abc[j]+"\t"+"\n";
w=w+abc[j]+"\t";
else
w=w+abc[j];
}
str.append("\n");
str.append(w);
str.append("\n");
System.out.println(w);
fw.write(w);
fw.write("\n");
}
str.append("\n");
}//end of if
}
答案 0 :(得分:0)
您需要解析文本文件并查找“X1:”,“X2”和“X3:”等关键字,并存储其后的字符串。
当您阅读完整句子后,将其存储到字符串中并执行以下操作:
String[] words = sentence.split("\\s+");
将按空格分割单个单词。对于来自文本文件的关键字“X1:”,“X2:”和“X3:”之后的字符串执行相同的操作。
然后,假设您将X1中的每个单词存储为String数组:
ArrayList<String> output = new ArrayList<>();
for(String word : words) {
for(int j = 0; j < X1.length; j++) {
if(X1[j].equals(word))
output.add(word + " X1");
}
// do the same for X2, X3
}
// Print out the output
for(String elem : output)
System.out.println(elem);