[英]Parse/Split a string and upload it into the database
我正在嘗試將字符串拆分/解析成幾個部分,然后將其正確上傳到數據庫中。
我有一個像這樣的字符串:
String CARDS =
"e \"Water\"\n" +
"n \"John\"\n" +
"p \"Big\"\n" +
"e \"Fire\"\n";
我想分開每一行,並有類似
e
"Water"
n
"John"
我設法做到這一點是這樣的:
String delim = " \n\r\t,.;"; //insert here all delimitators
StringTokenizer card = new StringTokenizer(CARDS,delim);
while (card.hasMoreTokens()) {
System.out.println(card.nextToken());
}
我創建了一個名為card的小表,其中包含card_type和card_desc。 其中card_type是第一個字母,例如e,n等,然后card_desc將是Water,John等。
我也有一個insert方法:
public void insert() throws SQLException {
Connection con = ListPlayers.myCon.get();
String query = "INSERT INTO deck (card_type,card_desc) VALUES (?,?);";
PreparedStatement ps = con.prepareStatement(query);
ps.setString(1, card_type);
ps.setString(2, card_desc);
ps.executeUpdate();
ps.close();
}
我只是不確定如何將分割后的字符串成功地分為卡類型和desc,然后將其上傳到數據庫。
您已經完成了困難的部分。 只需替換描述中的引號(“),然后調用您的方法即可插入數據。更新while循環。
while (card.hasMoreTokens()) {
String card_type = card.nextToken();
String card_desc = card.nextToken().replace("\"","");
//you can call your insert method to insert the data
// example insert(card_type,card_desc)
System.out.println(card_type+"::"+card_desc);
}
我已經添加了打印內容以進行測試。
更新您的insert方法以傳遞參數。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.