zoukankan      html  css  js  c++  java
  • java reg

    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("
    ");
                for(int i =1; i< content.size()-1;++i) {
                    writer.append(content.get(i));
                    writer.append("
    ");
                }
                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("
    ");
                }
                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();
        }
    }
  • 相关阅读:
    PHP 大小写转换、首字母大写、每个单词首字母大写转换相关函数
    【论文学习4】BiSample: Bidirectional Sampling for Handling Missing Data with Local Differential Privacy
    【论文学习3】Local Differential Privacy for Deep Learning
    【论文学习2】 Differential Privacy Reinforcement Learning
    深度学习中的优化算法
    Spatial crowdsourcing
    “pip install tensorflow ”出现错误
    python或pip'不是内部或外部命令”
    pip install torch出现错误
    打不开gitHub的解决方法
  • 原文地址:https://www.cnblogs.com/Searchor/p/11341869.html
Copyright © 2011-2022 走看看