Hallo zusammen,
weiss nicht, ob das ein "Anfänger-Thema" ist, aber ich bin jedenfall Anfänger und darum schrieb ich das mal hier rein..
Also, ich möchte bestimmte Textfragmente aus einem Quellcode auslesen (und diesen dann in einer MySql-Tabelle abspeichern, aber zu dem vielleicht später..).
Mit den regular Expressions kam ich dann auch soweit, dass ich alle Zeilen, die in einem bestimmten Muster im Code stehen, auslesen und dann abspeichern konnte (hier: ratings).
Nun habe ich aber das Problem, dass ich nun noch ein zweites Textfragment (hier: dates). Das klappt dann aber mit diesem Ansatz nicht, wieso?
weiss nicht, ob das ein "Anfänger-Thema" ist, aber ich bin jedenfall Anfänger und darum schrieb ich das mal hier rein..
Also, ich möchte bestimmte Textfragmente aus einem Quellcode auslesen (und diesen dann in einer MySql-Tabelle abspeichern, aber zu dem vielleicht später..).
Mit den regular Expressions kam ich dann auch soweit, dass ich alle Zeilen, die in einem bestimmten Muster im Code stehen, auslesen und dann abspeichern konnte (hier: ratings).
Nun habe ich aber das Problem, dass ich nun noch ein zweites Textfragment (hier: dates). Das klappt dann aber mit diesem Ansatz nicht, wieso?
Java:
ArrayList<String> ratings = new ArrayList();
ArrayList<String> dates = new ArrayList();
//Find Rating & Date
Pattern patt = Pattern.compile("-</span>.*<br />" + "</b>.*rn:");
Matcher m = patt.matcher(response);
while (m.find()) {
String rating = "";
String date = "";
int start = m.start(0);
int end = m.end(0);
String foundResponse = response.substring(start, end);
// Ratings
String[] Tmp = foundResponse.split("-</span> ");
String[] Tmp2 = Tmp[1].split("<br />");
rating = Tmp2[0];
rating = rating.replace("'", "");
ratings.add(rating);
// Dates
Tmp = foundResponse.split("</b>");
Tmp2 = Tmp[1].split("*rn:");
date = Tmp2[0];
date = rating.replace("'", "");
dates.add(date);
//Save Rating&Date to DB +++++++++++++++++++++++++++++++++
String treiber = null, DbUrl = null;
treiber = "org.gjt.mm.mysql.Driver";
DbUrl = "jdbc:mysql://localhost:3306/ratings";
Class.forName(treiber).newInstance();
Connection cn = DriverManager.getConnection(DbUrl, "user1", "pass1");
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
try {
java.sql.Statement st = cn.createStatement();
String query = "INSERT INTO booking (datum,bewertung) VALUES ( '"+date+"' , '" +rating+ "' )";
st.executeUpdate(query);
} catch (Exception ex) {
System.out.println(ex);
}
}