2013-09-26 26 views
0

我有一個包含20000行的文本文件。數據以列的形式存在。但列之間的空格不同,列長也不同。例如替換一個文本文件中的列之間有variouse空格的列

aaaaa()()()()()bdo()()()()()()()() ttttt()() dgee()()()()() yyyy 

bbb()()()()()()()ggg()()()()()()()( fff()()()(gbe()()()()()()(yHH 

cc()()()()()()()()dddd()()()()()()() I()()()()bdeg()()()()()()yyyyy 

這裏的空格代表括號 就像那樣!

我要替換第N個(例如:4日)與特定單詞(比如:「名字」)列

例如出認沽:

aaaaa()()()()()bdo()()()()()()()() ttttt()() name()()()()() yyyy 

bbb()()()()()()()ggg()()()()()()()( fff()()()(name()()()()()()(yHH 

cc()()()()()()()()dddd()()()()()()() I()()()()name()()()()()()yyyyy 

這裏的空間從支架 誰能代表幫我解決這個問題?

+0

在java或腳本中會做什麼? – TheKojuEffect

+1

你有沒有厭倦的代碼? – DeadChex

+0

注意:SO不是代碼寫入服務。請告訴我們您已經嘗試了什麼,以便我們可以幫助您解決特定問題。 – StormeHawke

回答

0
public static void replaceColumn(int column, String word, File file) throws IOException { 
    Scanner in = new Scanner(file); 
    PrintWriter out = new PrintWriter(file); 
    while (in.hasNextLine()) { 
     String line = in.nextLine(); 
     line = line.trim(); 
     String columns = line.split(" "); 
     columns[column] = word; 
     line = arrayToString(columns, " "); 
     out.println(line); 
    } 
    in.close(); 
    out.close(); 
} 

//Helper method 
private static String arrayToString(Object[] array, String separator) { 
    if (array.length == 0) { 
     return ""; 
    } 
    StringBuilder sb = new StringBuilder(); 
    for (Object element : array) { 
     sb.append(element); 
     sb.append(separator); 
    } 
    sb.delete(sb.length - separator.length(), sb.length()); 
    return sb.toString(); 
} 
+0

你好Michal!非常感謝你的重播,但是這並沒有給出任何輸出。這段代碼只是擦除整個文本文件,不會寫回任何文件。你可以再檢查一次嗎? – Aka

相關問題