0

私は JTables を使用しており、テーブルの内容を正常に取得して文字列配列に配置しました。次に、配列のすべての要素を 1 つの文字列に連結しました。

次のように、文字列から特定の文字と空白を削除するための支援が必要です。

tableDataAsString は次のとおりです。

[ABCD, EFGH, IJKL, null][MNOP, QRST, UVWX, null]
[YZAB, CDEF, GHIJ, null][KLMN, OPQR, STUV, null]
[WXYZ, ABCD, EFGH, null]

上記は、最後の System.out.println が出力するものです。私のコードは以下の通りです:

     // Get table data as String
 public void getTableContent() {
     //System.out.println("x-x-x-x-x-x Get table content in string format has started x-x-x-x-x-x ");

     int nRow = getRowCount(), nCol = getColumnCount();

     Object[][] tableData = new Object[nRow][nCol];

     // For loops used to run thriugh rows and columns in order to fetch cell values
     for (int i = 0 ; i < nRow ; i++)
         for (int j = 0 ; j < nCol - 1 ; j++)
                tableData[i][j] = getValueAt(i,j);

     // Prepare string array which will contain cell values
     String tableDataAsStringArray[] = new String[tableData.length];

     // Write cell values into string array
     for (int i = 0; i < tableDataAsStringArray.length; i++ ) {
         tableDataAsStringArray[i] = java.util.Arrays.toString(tableData[i]);

         System.out.println("getTableContent() - Table data in row " + i + " of string array is: " + tableDataAsStringArray[i]);
     }


     StringBuilder builder = new StringBuilder();

     // Append all the cell values into a single string
     for(String s : tableDataAsStringArray) {
         builder.append(s);
     }

     String tableDataAsString = builder.toString();

     System.out.println("getTableContent() - tableDataAsString is: " + tableDataAsString);

     //System.out.println("x-x-x-x-x-x  Get table content in string format has ended x-x-x-x-x-x ");
 }

具体的には、[] を削除し、ヌルをセミコロン (); に置き換えます。したがって、置換後の私の理想的な結果は次のようになります:ABCD,EFGH,IJKL;MNOP,QRST,UVWX;YZAB,CDEF,GHIJ;KLMN,OPQR,STUV;WXYZ,ABCD,EFGH

助けてくれてありがとう。

4

1 に答える 1

0
myRedactedString = myString.replaceAll("[badchars]", "x");

置き換えbadcharsたい実際の文字に置き換えます。それらを置き換えxたいもの、おそらく空の文字列に置き換えます。[正規表現の規則に従って、文字をエスケープすることを忘れないでください。例:

myCompressedString = myString.replaceAll("[, \[\]]", "");

--- 編集して追加

after = before.replaceAll("null", ";").replaceAll("[\[\] ]", "");

2 番目の replaceAll のスペースは、ソース スペースを使用するために必要であることに注意してください。

于 2013-03-19T23:57:43.387 に答える