这是输出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