標籤:system void span blog compile find pil 定義 Regex
需求:擷取一個本地檔案中所有符合 $[MAKE_PACKAGE] 格式的字串,並輸出到另一個檔案中.
public static void main(String[] args) throws Exception { loadVar("src/cn/don9/templates/Action.txt","src/cn/don9/templateVar/SysActionVar.txt"); } public static void loadVar(String infilePath,String outfilePath) throws Exception{ //定義set集合,實現去重效果 Set<String> result = new HashSet<String>(); //定義Regex String regex = "[\\$][\\[]\\w+[\\]]"; Pattern pattern = Pattern.compile(regex); //讀取檔案 File file = new File(infilePath); BufferedReader br = new BufferedReader(new FileReader(file)); String line; while((line=br.readLine())!=null){ //匹配文本中每行的字串 Matcher matcher = pattern.matcher(line); //發現匹配的字串,存入set中 while(matcher.find()){ result.add(matcher.group()); } } //載入輸出檔案 File outfile = new File(outfilePath); BufferedWriter bw = new BufferedWriter(new FileWriter(outfile)); for(String var:result){ //寫入字串 bw.write(var+"\r\n"); } br.close(); bw.close(); System.out.println("讀取完畢!"); }
運行結果:
javaRegex匹配文本中想要的字串