這是輸出IM recieving:的Java SQL刪除括號
INSERT INTO [ J] VALUES ([J1, Sorter, Paris)
INSERT INTO [ J] VALUES (J2, Punch, Rome)
INSERT INTO [ J] VALUES (J3, Reader, Athens)
INSERT INTO [ J] VALUES (J4, Console, Athens)
INSERT INTO [ J] VALUES (J5, Collator, London)
INSERT INTO [ J] VALUES (J6, Termninal, Oslo)
INSERT INTO [ J] VALUES (J7, Tape, London])
正如你可以看到我有一個[開頭和]在最後,我不知道是什麼原因造成的呢?我如何刪除它?我試過用.replace(「[]」,「」)正則表達式。我相信這個問題正在發生,但無濟於事。
代碼插入:
if (state == 3||!tableLineScanner.hasNextLine()){
try{
Class.forName("org.sqlite.JDBC");
Connection conn = null;
conn = DriverManager.getConnection("jdbc:sqlite:test.db");
//TODO Input values goes here
tableName =""+tableNames;
Statement stmt = conn.createStatement();
String query = tableValues + "";
ResultSet rs = stmt.executeQuery("SELECT * FROM "+ tableName);
ResultSetMetaData rsmd = rs.getMetaData();
query.replaceAll("[ ]","");
tableName =""+tableNames;
tableName.replaceAll("[ ]","");
String[] splittedOutput = query.split(", ");
int valuesOnLine = rsmd.getColumnCount();
for (int i = 0; i < splittedOutput.length; i++) {
if (i % valuesOnLine == 0) {
System.out.print("INSERT INTO " + tableName + " VALUES (");
}
System.out.print(splittedOutput[i]);
if (i % valuesOnLine == valuesOnLine - 1) {
System.out.println(")");
} else {
System.out.print(", ");
}
}
tableNames.clear();
tableValues.clear();
tableFields.clear();
}
catch (SQLException ex){
System.out.println("SQLException: " + ex.getMessage());
System.out.println("VendorError: " + ex.getErrorCode());
}
catch (ClassNotFoundException e){
e.printStackTrace();
}
}
林具有部件1,element2的,元素3的數組,但我似乎無法擺脫的[]即使你的replaceAll代碼 – Looptech
我不認爲你有一個數組。你有一個'List'或者'Set'的某種類型。如果它是一個列表,我建議調用'get(0)'來獲得你想要的值。 –
nvm我解決了它謝謝你! – Looptech