現在のすべての行を印刷できるログファイルを読むには、STARTコードでヘルプが必要です。特定の単語で終わるログの特定の行を読むのに助けが必要です
私のファイルが含まれています。それは私がコードの下にしようとした
test 1 START
test 2 START
印刷する必要がありますが、それは唯一のSTARTを印刷
test 1 START
test2 XYZ
test 3 ABC
test 2 START
。
public class Findlog{
public static void main(String[] args) throws IOException {
BufferedReader r = new BufferedReader(new FileReader("myfile"));
Pattern patt = Pattern.compile(".*START$");
// For each line of input, try matching in it.
String line;
while ((line = r.readLine()) != null) {
// For each match in the line, extract and print it.
Matcher m = patt.matcher(line);
while (m.find()) {
// Simplest method:
// System.out.println(m.group(0));
// Get the starting position of the text
System.out.println(line.substring(line));
}
}
文字列には「endsWith」というメソッドがあります。なぜ正規表現の代わりにそれを使用しないのですか?あなたの現在の問題とは別に、読み込んだ 'line'を出力する代わりに、あなたの正規表現が別名「START」とマッチした行の部分を表示します。 –
OH GOD SPIDERSありがとうございました、私はラインを使用し、期待どおりに動作する部分文字列を削除しました。 – smriti