Ich versuche nach einer Zeichenfolge innerhalb einer Datei Inhalt zu suchen, die ich in eine Zeichenfolge bekam.Suchen Sie nach einer bestimmten Zeichenfolge in einer anderen und zählen Sie, wie oft es erscheint
Ich habe versucht Pattern
und Matcher
, die für diesen Fall verwenden gearbeitet:
Pattern p = Pattern.compile("(</machine>)");
Matcher m = p.matcher(text);
while(m.find()) //if the text "(</machine>)" was found, enter
{
Counter++;
}
return Counter;
Dann habe ich versucht, den gleichen Code zu verwenden, wie viele Tags Ich habe zu finden:
Pattern tagsP = Pattern.compile("(</");
Matcher tagsM = tagsP.matcher(text);
while(tagsM.find()) //if the text "(</" was found, enter
{
CounterTags++;
}
return CounterTags;
in diesem Fall war der Rückgabewert immer 0.
Warum funktioniert es nicht? Hat es Ihnen einen falschen positiven Befund gegeben, wo '' ohne '()' übereinstimmen? – nhahtdh
Die Datei, mit der ich arbeite, ist eine XML-Datei. Der Code, den ich hochgeladen habe, ist eine ältere Version meines Codes, Also als ich versuchte, den() String zu finden, hat es funktioniert, , aber als ich versuchte, nur die '(' String zu finden, wie viele Tags ich have, das Ergebnis war immer 0. –
Wollen Sie die literale Zeichenfolge '()' finden, oder wollen Sie nur '' finden? Wenn es die erste ist, der Code in der Antwort von Ankit nicht Arbeit. – nhahtdh