我们经常在网页上复制来下面这样的代码,前面总加着讨厌的行号
01. import java.util.Scanner;
02. public class Main {
03.
今天我查别人代码的时候 也遇到了这个问题 于是写了个小程序 自动完成,想偷懒的人可以直接粘贴过去,虽然原理很简单,正则表达式的使用;
import java.io.File; import java.io.FileNotFoundException; import java.io.FileWriter; import java.io.IOException; import java.util.Scanner; import java.util.regex.Matcher; import java.util.regex.Pattern; public class RuleOutNumbersInAcmCode { public static void main(String[] args) throws FileNotFoundException{ StringBuffer sb = new StringBuffer(); File file = new File("D:\\数据文件\\acm源码\\acm311java.java"); Scanner in = new Scanner(file); String temp=""; Pattern pattern = Pattern.compile("\\d{2}\\."); Matcher matcher=null; while(in.hasNext()){ temp = in.nextLine(); matcher = pattern.matcher(temp); while(matcher.find()){ matcher.appendReplacement(sb, ""); } matcher.appendTail(sb); sb.append("\n"); } System.out.println(sb.toString()); try { FileWriter fw = new FileWriter(file); fw.write(sb.toString()); fw.flush(); fw.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }
import java.util.Scanner;
public class Main {
static public int max(int a,int b){
return a>b?a:b;
}
public static void main(String[] args) {
// TODO Auto-generated method stub
int d[]=new int [50005];
Scanner scanner = new Scanner(System.in);
int n=scanner.nextInt();
while(n-->0){
这样是不是清爽多了
如果你遇到的行号是对齐的,那么修改下面中的数字为你需要的数字
Pattern pattern = Pattern.compile("\\d{2}\\."); //如果行号是不对齐的那么改成 "\\d{min,max}\\." min max只数值的最小长度和最大长度
thks