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();
        }
    }
  • 相关阅读:
    tensorflow初次接触记录,我用python写的tensorflow第一个模型
    java编写service详细笔记
    python聚类算法实战详细笔记 (python3.6+(win10、Linux))
    python kmeans实战
    C语言-apache mod(模块开发)-采用apxs开发实战(centos7.2 linux篇)
    C语言-apache mod(模块开发)-采用VS2017开发实战(windows篇)
    redis集群配置及运行命令(windows和centos)附Python测试范例代码
    centos 7 keepalived故障邮件通知实战(附Python邮件发送脚本)
    mysql互为主从实战设置详解及自动化备份(Centos7.2)
    keepalived安装配置实战心得(实现高可用保证网络服务不间断)
  • 原文地址:https://www.cnblogs.com/Searchor/p/11341869.html
Copyright © 2011-2022 走看看