Hier ist mein Code. Ich speichere Datum in Daten Arraylist, die wie folgt aussieht: [020406,020407 ...] und ich bin auf der Suche Muster in Dateien, die so etwas wie das ist:passt Muster mit ArrayList String-Variable funktioniert nicht
c001z020102
c002z020103
...
Code:
private void printReaderContent(BufferedReader reader) throws IOException {
String line = null;
for(String tmp : dates) {
while ((line = reader.readLine()) != null) {
if (line.matches("[c]{1}[0-9]{3}[z]{1}" + tmp)) {
xmlCodes.add(line);
} else {
}
}
}
System.out.println(xmlCodes);
}
Also ich Habe eine Match-Methode wie in meinem Code und ich versuche tmp Variable hinzuzufügen, um dieses Muster zu kombinieren, damit ich ausgewählte Ergebnisse aus meiner Datei bekommen kann. Wenn ich Standardmuster wie [c] {1} [0-9] {3} [z] {1} [0-9] {2} [0-9] {2} [0-9] {2} verwende, es funktioniert, aber jedes Mal habe ich tmp statt i leere Arraylist zurückerhalten :(ich verwende jodaTime Anzahl der Tage zwischen berechnen und speichere ich es in Daten Arraylist:
public void countDatesBetween()
{
int days = Days.daysBetween(dataPierwsza, dataOstatnia).getDays();
for (int i = 0; i <= days; i++)
{
DateTime d = dataPierwsza.withFieldAdded(DurationFieldType.days(), i);
dates.add(d.toString("yyMMdd"));
}
}
ich habe eine Datei mit mehreren Zeilen B. c001z040206. Der Benutzer setzt 2 Daten wie 2014-06-06 und 2014-06-08 ---> cundDatesBetween erstellt eine ArrayList (dates.toString ("yyMMdd"), die so aussieht: [140606, 140607 , 140608]. Dann möchte ich mit c001z durch diese Datei suchen, die "[c] {1} [0-9] {3} [z] {1}" ist und ein ausgewähltes Datum von tmp erhält, das im Grunde iteriert Dates ArrayList: So sollte es beispielsweise so sein: c001z140606 ---> finde es in der Datei und kehre zu xmlCodes String ArrayLis zurück t, aber es ist nur eine leere Arraylist.
Es ist nicht wirklich klar zu mir, was Sie versuchen zu tun oder was Sie sehen - es wäre einfacher, Ihnen zu helfen, mit einem [MCVE]. (Insbesondere kann ich nicht sehen, was "countDatesBetween" mit dem Rest der Frage zu tun hat.) –
Informationen nicht in Kommentare einfügen. Aktualisiere deine Frage stattdessen immer – GhostCat