`

文章内容关键字或短语替换

阅读更多
分析的源文件内容:
  <fileNode access="" fileUuid="ac1eed02-eae9-11e7-9fd1-fa163e6dec89" metadata="" modifyTime="1513306994" name="All.DEG_final.clustered.data_subcluster_9.data" pid="abab9262-eae9-11e7-9fd1-fa163e6dec89" relativePath="Web_Report/BMK_5_DEG_Analysis/BMK_1_All_DEG/DEG_Cluster/BMK_2_Cluster_GO_enrichment/All.DEG_final.clustered.data_subcluster_9.data" tag="" type="folder"/>
<fileNode access="" dataUuid="ad041fb2-eae9-11e7-9fd1-fa163e6dec89" fileType="txt" fileUuid="ad041b52-eae9-11e7-9fd1-fa163e6dec89" metadata="[]" modifyTime="1513307016" name="jquery.ui.datepicker-uk.min.js" pid="acf9b73e-eae9-11e7-9fd1-fa163e6dec89" relativePath="Web_Report/BMK_5_DEG_Analysis/BMK_3_WTa_WTb_WTc_vs_M5a_M5b_M5c/BMK_2_DEG_Cluster/BMK_1_Heatmap_HTML/js/plugins/jquery-ui/i18n/jquery.ui.datepicker-uk.min.js" size="1039" tag="" type="file"/>

利用正则表达式处理:
 
  
String p1 = "^(<fileNode access=\"\" )(dataUuid=\")([a-z0-9-]{0,36})(.*)(fileUuid=\")([a-z0-9-]{0,36})(.*)(pid=\")([a-z0-9-]{0,36})(.*)(type=\"file\"/>)$";
        String p2 = "^(<fileNode access=\"\" )(fileUuid=\")([a-z0-9-]{0,36})(.*)(type=\"folder\"/>)$";
        String p3 = "^(<fileNode access=\"\" )(.*)(pid=\")([a-z0-9-]{0,36})";
        Pattern filePatter = Pattern.compile(p1);
        Pattern folderPatter = Pattern.compile(p2);
        Pattern pidPatter = Pattern.compile(p3);
try {
            List<String> list = Files.readAllLines(Paths.get("/home/bmk/testreport/report-files.xml"));
            if (list.size() > 0) {
                StringBuilder xmlString = new StringBuilder();
                Map<String, String> uuidMap = new HashMap<>();
                List<String> newContent = new ArrayList<>();
                list.stream().forEach(content -> {
                    Matcher fileMatcher = filePatter.matcher(content);
                    if (fileMatcher.lookingAt()) {
                        String dataUuid = fileMatcher.group(3);
                        String fileUuid = fileMatcher.group(6);
                        String newUuid = UUID.randomUUID().toString();
                        uuidMap.put(fileUuid, newUuid);
                        content = content.replace(dataUuid, UUID.randomUUID().toString());
                        content = content.replace(fileUuid, newUuid);
                        newContent.add(content);
                    }
                    Matcher folderMatcher = folderPatter.matcher(content);
                    if (folderMatcher.lookingAt()) {
                        String fileUuid = folderMatcher.group(3);
                        String newUuid = UUID.randomUUID().toString();
                        content = content.replace(fileUuid, newUuid);
                        uuidMap.put(fileUuid, newUuid);
                        newContent.add(content);
                    } else {
                        newContent.add(content);
                    }
                });
                newContent.stream().forEach(content -> {
                    Matcher pidMatcher = pidPatter.matcher(content);
                    if (pidMatcher.lookingAt()) {
                        String pid = pidMatcher.group(4);
                        if (uuidMap.containsKey(pid)) {
                            content = content.replace(pid, uuidMap.get(pid));
                        }
                    }
                    xmlString.append(content + "\r\n");
                });
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
分享到:
评论

相关推荐

    文本关键字批量替换

    在文本处理中,关键字通常是指具有特定意义或者需要特别关注的词或短语。例如,在搜索引擎优化(SEO)中,关键字是用于描述网页内容的词语,而在文本替换操作中,关键字是我们想要查找并替换的部分。 “批量替换”...

    java提取文章关键字

    这个任务的目的是从一篇文章中识别出最具代表性的词语或短语,这些词汇通常反映了文章的主题和核心内容。在Java中实现这个功能,我们可以借助于各种库和算法。 1. **关键词提取算法**: - TF-IDF(Term Frequency-...

    craigslist-checker, 当新的Craigslist发布与给定的关键字或者短语匹配时发送文本.zip

    craigslist-checker, 当新的Craigslist发布与给定的关键字或者短语匹配时发送文本 Craiglist检查器当有新的"销售"帖子或者短语时发送文本。脚本使用GMail协议的SMTP向给定的电话号码发送短信,因这里你需要将GMail...

    非法关键字检查,检查文章中的关键字

    首先,非法关键字是指那些在特定环境中不被允许出现的词语或短语,这些词可能涉及政治、宗教、色情、暴力等内容,或者是一些可能引发法律纠纷或影响用户体验的词汇。在互联网平台、社交媒体、论坛和博客等场合,非法...

    文章关键字提取.zip

    标题中的“文章关键字提取”指的是一个程序或工具,专门用于从文章内容中自动识别并抽取具有代表性的词汇或短语,这些词汇通常反映了文章的主题或核心思想。这种技术在信息检索、文本挖掘、搜索引擎优化(SEO)等...

    Html文件关键字搜索

    HTML文件关键字搜索是一种技术,主要用于在本地存储的HTML文件中查找特定关键字或短语。这一功能对于信息检索、数据挖掘以及网页分析等场景非常有用。本文将深入探讨HTML文件的关键字搜索技术,包括其原理、实现方法...

    matlab分时代码-Clustering_of_Speech:下面给出的源代码用于检测在一对语音之间出现的匹配关键字或短语

    matlab分时代码语音转换 我们开发此方法的目的是将大量语音存储库隔离到群集中,其中每个群集代表在语义级别与某些更.../文件夹包含用于执行上述任务的代码,以检测语音对之间的短语匹配关键字(Spotingkeywordmatching

    Python-QueryServer可用于搜索搜索引擎上的关键字短语

    4. **HTTP请求与响应**:QueryServer作为服务器,会接收HTTP请求,其中包含要搜索的关键字或短语。然后,它会向相应的搜索引擎发送请求,并接收返回的搜索结果。这个过程涉及到网络编程和HTTP协议的知识。 5. **Web...

    Jcseg是基于mmseg算法的一个轻量级Java中文分词器,同时集成了关键字提取,关键短语提取,关键句子提取和文章自动摘要等

    elasticsearchJcseg是基于mmseg算法的一个轻量级Java中文分词器,同时集成了关键字提取,关键短语提取,关键句子提取和文章自动摘要等功能,并且提供了一个基于Jetty的web服务器,方便各大语言直接http调用,同时...

    插入关键字

    【标题】"插入关键字"指的是在文本处理过程中,为了优化文档内容、提高搜索引擎排名或实现特定功能,将特定词汇或短语插入到文本文件中的技术。这种技术常见于搜索引擎优化(SEO)领域,用于增强网页内容与用户搜索...

    易语言文本批量替换工具

    3. **搜索列表**:用户可以在此设置待搜索的关键字或短语,工具会按照这个列表中的每一项进行匹配和替换。这使得用户可以同时处理多个不同的替换任务,提高了工作效率。 4. **文本寻找**:在找到目标文件后,工具会...

    网站搜索关键字词库

    关键字词库是收集、整理和分析一系列与特定网站或业务相关的搜索词和短语的集合,这些词汇反映了潜在用户在搜索引擎中可能输入的查询。建立一个完善的关键字词库有助于网站优化其内容,提高在搜索引擎结果页面(SERP...

    关键字过滤多模式匹配算法(支持中文)

    首先,关键字过滤是一种技术,用于从大量文本数据中筛选出包含特定关键字或短语的信息。这种技术广泛应用于搜索引擎、社交媒体监控、日志分析等领域。在中文环境下,由于汉字的复杂性,关键字过滤需要考虑词的分词...

    seo关键字排名工具

    关键字是用户在搜索引擎中输入的词或短语,以寻找特定的信息、产品或服务。有效的关键字策略是SEO的基础,因为它可以帮助网站针对目标受众的需求进行优化。 SEO关键字排名工具的主要功能包括: 1. **关键字分析**...

    关键字排名

    关键字是用户在搜索引擎中输入的词或短语,用于寻找相关信息。正确地优化关键字可以帮助提升网页在搜索结果中的可见性,从而带来更多的流量。 在描述中提到的方法是使用PHP来查询特定关键字在百度搜索引擎中的位置...

    网站关键字词库

    1. **关键字**:关键字是搜索引擎理解网页内容的关键,它们是用户在搜索框中输入的词或短语。正确选择和布局关键字可以帮助搜索引擎更准确地识别网页的主题,从而提高搜索结果的相关性。 2. **词库**:词库是收集了...

    分析邮件的关键字和内容

    这可能涉及到使用正则表达式或自然语言处理技术(如NLP库如NLTK或spaCy)来查找特定的词汇或短语,这在过滤垃圾邮件、进行情感分析或主题建模时非常有用。 6. **存储和展示**:最后,解析后的信息可以存储在数据库...

    2011年最新应用 关键字转码工具

    5. "关键字.txt":存储待转码的关键字或短语的文件,用户可以在这里添加或修改需要规避过滤的关键字。 6. "搜索站点.txt":可能是一份搜索引擎列表,用于测试关键字转码后的效果或进行SEO分析。 7. "转换后的网址....

    快速检索文件关键字检查涉密文件

    6. **keylist.txt**:与nkeylist.txt类似,这可能也是另一个关键字列表,可能包含不同的敏感词汇或短语,用于扩大搜索范围或提供额外的筛选条件。 综合以上信息,我们可以得出,这个压缩包提供了一个用于快速检测...

    搜索关键字自动查询优化工具

    关键字是搜索引擎用户在搜索框中输入的词或短语,它们是连接用户需求与网站内容的桥梁。正确地选择和使用关键字是网站优化的重要步骤,因为它们直接影响到搜索引擎如何理解网站的内容和目标受众。 该工具的核心功能...

Global site tag (gtag.js) - Google Analytics