0

次の内容の txt ファイルがあるとします。

<tag><info>George 34 Washington Professor 

Alexander 22 London Student

Jessica 18 Moscow Student<info><tag>

readline を使用してテキスト ファイルからパラメーターをスクープするときに、どのようにタグを無視しますか?

4

2 に答える 2

1

正規表現の何が問題になっていますか?

Scanner s = new Scanner(new File("file.txt"));
while (s.hasNext())
{
  String line = s.nextLine().replaceAll("<[^>]*>", "");
  System.out.println(line);
}

ただし、上記は複数行に分割されたタグでは機能しません。もう少し複雑なことを行う必要があります。

Scanner s = new Scanner(new File("file.txt"));
boolean inTag = false;
while (s.hasNext())
{
  String lineTemp = s.nextLine();
  for (char c: line.toCharArray())
  {
    switch (c)
    {
      case '<': inTag = true; break;
      case '>': inTag = false; break;
      default:
        if (!inTag)
          sb.append(c);
    }
  }
  String line = sb.toString();
  System.out.println(line);
}

上記のいずれも、タグの開始と終了を示す以外の場所での<およびの出現を説明していません。>

于 2013-03-02T22:28:36.437 に答える
0

正規表現を使用して行からタグを削除できます

String line = line.replaceAll("<.+?>", "");
于 2013-03-03T02:55:13.127 に答える