繁体   English   中英

将文本行从文本文件转换为Java中的多列

[英]Converting lines of text from a text file to multiple columns in Java

我想将以下输入从文本文件转换为列格式。

输入文本:

我要去芝加哥。

X1:要去

X2:我是

X3:去芝加哥

他正在踢足球。

X1:正在播放

X2:他

X3:足球

预期产量:

我X2

是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
              }

您将需要分析文本文件并查找诸如“ X1:”,“ X2”和“ X3:”之类的关键字,并存储其后的字符串。

阅读完整的句子后,将其存储在String中,然后执行以下操作:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM