0

csv ファイルに複数のデータ列があります。必要な列を分離できましたが、「|」を削除する必要があります。および列に含まれる「&」記号。誰でも私を助けることができますか?関連するコードは次のとおりです。

// CSVRead.java
//Reads a Comma Separated Value file and prints its contents.

import java.io.*;
import java.util.Arrays;
import java.util.ArrayList;
import java.util.List;
import java.util.regex.*;

public class CSVRead{

 public static void main(String[] arg) throws Exception {

   BufferedReader b1 = 
        new BufferedReader(new FileReader("Reactions.csv"));

   BufferedWriter b2 = 
        new BufferedWriter(new FileWriter("Write1.txt"));

   BufferedWriter b3 = 
        new BufferedWriter(new FileWriter("Write2.txt"));

   Pattern p1 = Pattern.compile("[+]");
   Pattern p3 = Pattern.compile("\t");
   Pattern p2 = Pattern.compile("<=>");
   Pattern p4 = Pattern.compile(" ");
   Pattern p5 = Pattern.compile("RSP_[0-9][0-9][0-9][0-9]");

   ArrayList<String> reactions = new ArrayList<String>();//List to hold all reactions
   ArrayList<String> reactionID = new ArrayList<String>();//List to hold all reactions
   ArrayList<String> genes = new ArrayList<String>();//List to hold all genes

   String strRead; String strWrite;

   while ((strRead=b1.readLine())!=null) {
     String splitarray[] = strRead.split("\t");
     String firstentry = splitarray[0];
     String secondentry = splitarray[7];
     b3.write(secondentry);
     b3.newLine();
   } 

   b2.close(); 
   b3.close();

 } //main()

} // CSVRead

次の表現を使用する必要があるかもしれないと思います。

genes.add(splitarray[7].replace("|",""));

例えば。しかし、どこに置くべきか、それが正しいかどうかはわかりません。助けてくれてありがとう、

ケーボール

4

1 に答える 1

0

これは正しいですが、元の文字列は変更されないことに注意してください。ただし、Genes.add には | を含む文字列が含まれます。& についても同じことができます。

于 2013-06-06T19:49:09.400 に答える