java reg
发布时间:2020-12-15 08:24:41 所属栏目:Java 来源:网络整理
导读:import java.io.BufferedWriter; import java.io.FileWriter; import java.io.IOException; import java.nio.charset.StandardCharsets; import java.nio.file.Files; import java.nio.file.Paths; import java.util.ArrayList; import java.util.List; impo
import java.io.BufferedWriter; import java.io.FileWriter; import java.io.IOException; import java.nio.charset.StandardCharsets; import java.nio.file.Files; import java.nio.file.Paths; import java.util.ArrayList; import java.util.List; import java.util.regex.Matcher; import java.util.regex.Pattern; import java.util.stream.Collectors; import java.util.stream.Stream; public class FooBarMainEntry { public static void main(String[] args) { List<String> all = FileHelper.readFileToStringList("data.txt"); List<Pattern> patternList = new ArrayList<Pattern>(); patternList.add(Pattern.compile("id.{1,15}")); patternList.add(Pattern.compile("name.{1,13}")); patternList.add(Pattern.compile("att.{5,30}")); for(String line : all) { StringHelper.extractPatternFromString(patternList,line,"###"); } } } class FileHelper { public static String readFileToString(String filePath){ String content = ""; try{ content = new String ( Files.readAllBytes( Paths.get(filePath) ) ); } catch (IOException e){ e.printStackTrace(); } return content; } public static List<String> readFileToStringList(String filePath) { List<String> result=new ArrayList<String>(); try (Stream<String> stream = Files.lines( Paths.get(filePath),StandardCharsets.UTF_8)){ stream.forEach(s -> result.add(s)); } catch (IOException e){ e.printStackTrace(); } return result; } public static void overWriteStringToFile(String filePath,String content) { try{ BufferedWriter writer = new BufferedWriter(new FileWriter(filePath)); writer.write(content); writer.close(); } catch(Exception e) { e.printStackTrace(); } } public static void appendStringToFile(String filePath,String content) { try{ BufferedWriter writer = new BufferedWriter(new FileWriter(filePath,true)); writer.append(content); writer.close(); } catch(Exception e) { e.printStackTrace(); } } public static void overWriteStringListToFile(String filePath,List<String> content) { if(content.isEmpty()) { return; } try{ BufferedWriter writer = new BufferedWriter(new FileWriter(filePath)); writer.write(content.get(0)); writer.append("n"); for(int i =1; i< content.size()-1;++i) { writer.append(content.get(i)); writer.append("n"); } writer.append(content.get(content.size()-1)); writer.close(); } catch(Exception e) { e.printStackTrace(); } } public static void appendStringListToFile(String filePath,List<String> content) { if(content.isEmpty()) { return; } try{ BufferedWriter writer = new BufferedWriter(new FileWriter(filePath,true)); for(int i =0; i< content.size()-1;++i) { writer.append(content.get(i)); writer.append("n"); } writer.append(content.get(content.size()-1)); writer.close(); } catch(Exception e) { e.printStackTrace(); } } } class StringHelper { public static String extractPatternFromString(final List<Pattern> patterns,final String inputString,final String outSeperator){ StringBuilder result = new StringBuilder(); for(Pattern p : patterns) { Matcher matcher = p.matcher(inputString); while (matcher.find()) { result.append(inputString.substring(matcher.start(),matcher.end())); result.append(outSeperator); } matcher.reset(); } System.out.println(result.toString()); return result.toString(); } } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |