文件out.txt中有如下内容:
出现5次的号码为35注
000 040 113 221 240 241 242 245 260 261 
263 265 276 331 336 343 344 366 433 436 
464 499 566 577 625 643 667 674 694 727 
737 749 764 797 844 出现6次的号码为24注
131 133 202 223 226 233 249 262 363 449 
533 565 575 600 605 626 662 675 676 677 
733 767 949 999 出现7次的号码为14注
111 222 275 444 446 606 622 633 636 660 
744 747 774 775 出现8次的号码为6注
266 333 466 644 664 665 出现9次的号码为3注
646 663 777 出现14次的号码为1注
666 请编写程序,将“出现 次的号码为 注”的文字行去掉。
数字行中的数字不变。结果如下:000 040 113 221 240 241 242 245 260 261 
263 265 276 331 336 343 344 366 433 436 
464 499 566 577 625 643 667 674 694 727 
737 749 764 797 844 
131 133 202 223 226 233 249 262 363 449 
533 565 575 600 605 626 662 675 676 677 
733 767 949 999 
111 222 275 444 446 606 622 633 636 660 
744 747 774 775 
266 333 466 644 664 665 
646 663 777 
666

解决方案 »

  1.   

     replaceAll("出现\\d+次的号码为\\d+注", "")
      

  2.   

    import java.io.BufferedReader;
    import java.io.FileInputStream;
    import java.io.FileNotFoundException;
    import java.io.IOException;
    import java.io.InputStreamReader;public class ChangeText {
    public static void main(String[] args) {
    try {
    StringBuffer stringBuffer = new StringBuffer();
    BufferedReader bf = new BufferedReader(new InputStreamReader(
    new FileInputStream("d:\\out.txt")));
    String value = "";
    while ((value = bf.readLine()) != null) {
    stringBuffer.append(value+"\r\n");
    }
    System.out.println(stringBuffer.toString().replaceAll("出现\\d+次的号码为\\d+注", ""));

    } catch (FileNotFoundException e) { e.printStackTrace();
    } catch (IOException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }
    }
    }
    out.txt放到d盘下
      

  3.   

    import java.io.BufferedReader;
    import java.io.BufferedWriter;
    import java.io.FileReader;
    import java.io.FileWriter;public class Test { public static void main(String arg[]) throws Exception {
    StringBuffer buf = new StringBuffer();
    FileReader fr = new FileReader("d://out.txt");
    BufferedReader br = new BufferedReader(fr);

    String line = null;
    while((line = br.readLine()) != null){
    if(line.matches("^[\\D]+.*")){
    continue;
    }
    buf.append(line);
    buf.append("\r\n");
    }

    FileWriter fw = new FileWriter("d://out1.txt");
    BufferedWriter bw = new BufferedWriter(fw);
    bw.write(buf.toString());
    br.close();
    bw.close();
    }
    }