当前位置: 首页 > wzjs >正文

网站建设都包括哪些海外seo培训

网站建设都包括哪些,海外seo培训,威县做网站哪里好,纯css3响应式网站模板阿华代码,不是逆风,就是我疯 你们的点赞收藏是我前进最大的动力!! 希望本文内容能够帮助到你!! 目录 文章导读 零:项目结果展示 一:导读&知识点回顾 二:遗留问题 …

   

阿华代码,不是逆风,就是我疯

你们的点赞收藏是我前进最大的动力!!

希望本文内容能够帮助到你!!

目录

 文章导读

零:项目结果展示

一:导读&知识点回顾

二:遗留问题

三:正则表达式

1:目标

2:简单介绍正则表达

(1)简单使用

(2)贪婪匹配

(3)非贪婪匹配 

四:解析正文回炉重造

1:实现readFile方法

2:过滤得正文

​编辑

3:优化前后对比


 文章导读

阿华将发布项目复盘系列的文章,旨在:

1:手把手细致带大家从0到1做一个完整的项目,保证每2~3行代码都有详细的注解

2:通过文字+画图的方式,对项目进行整个复盘,更好的理解以及优化项目

3:总结自己的优缺点,扎实java相关技术栈,增强文档编写能力

零:项目结果展示

项目目前已经上线,小伙伴们可以进行使用!!!

Java 文档搜索

简述:在我的搜索引擎网站,用户进行关键字搜索,就可以查询到与这个关键字相关的java在线文档,(包含标题,关键字附近的简述,url),用户点击标题,即可跳转到相关在线文档,适用于JDK17版本。

一:导读&知识点回顾

通过(1)~(3)项目的梳理,(4)项目的优化,(5)中DocSearch功能:根据搜索词,去索引中查询数据,并封装好我们要返回的结果。

我们基本上完成了,Parser类和Index类的工作——索引的制作和加载,那么这两个类之间的关系是怎样的呢?Parse类相当于制作索引的入口,Index类相当于实现了索引的数据结构,提供一些API来构建索引

二:遗留问题

分析:为什么我们解析html文档中,正文还会包含我们的js代码呢?

知道js代码是在我们的<script>标签中的

回顾一下我们之前写的解析正文的逻辑,是把标签去掉了,取得了两个标签夹着的内容,很明显我们把<script>标签夹着的内容也给解析出来了!!GG

    public String parseContent(File f) {//try (BufferedReader bufferedReader = new BufferedReader(new FileReader(f), 1024 * 1024)) {//缓冲区设置为1M,默认的为8192字节太小
//            FileReader fileReader = new FileReader(f);//这里是从硬盘读,我们改成提前读好,之后从内存中读效率会更高//是否拷贝的开关boolean isCopy = true;//用StringBuilder来保存结果,StringBuilder content = new StringBuilder();while (true) {
//                int ret = fileReader.read();//读取文件,一个字符一个字符的读,不是字符返回-1;int ret = bufferedReader.read();if (ret == -1) {break;//读完了}//是字符执行以下逻辑char c = (char) ret;if (isCopy) {if (c == '<') {isCopy = false;continue;}if (c == '\n' || c == '\r') {//换行的两种方式注意回车键c = ' ';//换成空格}content.append(c);//其它字符直接进行拷贝到StringBuilder中} else {//直到遇见'>'这个字符我们才打开拷贝的开关if (c == '>') {isCopy = true;}}}
//            fileReader.close();return content.toString();} catch (IOException e) {e.printStackTrace();}return "";}

三:正则表达式

1:目标

2:简单介绍正则表达

正则表达式,简单理解就是用一些特殊符号来代表我们正文中的指定的内容,并把这个内容替换成我们目标的内容(删掉也可)

(1)简单使用

在java中,String类里有很多方法都支持正则,比如index,replace,replaceAll,split等等

(2)贪婪匹配

可以看到我们的<.*>表示匹配一个可以出现若干次的非换行字符

就是说匹配到第一个<div>后,再遇到第一个</div>不会停下,会继续往后匹配,直到我们最后一个(也就是下面举例的第二个)</div>才会停下

(3)非贪婪匹配 

这个就很好,匹配到了一个<div>就停下,再找第二个<div>。贪得无厌,取之有道~~~完美!

四:解析正文回炉重造

了解咱们的正则表达式后,下面我们开始实战!!重新写我们的parseContent

1:实现readFile方法

我们先把整个文件读到String当中,这里的bufferReader.read(),方法读到末尾会返回-1,返回类型为int类型,这里我们强转一下就行

    private String readFile(File f){try(BufferedReader bufferedReader = new BufferedReader(new FileReader(f))){//从内存中读StringBuilder content = new StringBuilder();while(true){int ret = bufferedReader.read();if(ret == -1){break;}char c = (char)ret;if(c == '\n' || c == '\r'){c = ' ';}content.append(c);}return content.toString();} catch (IOException e) {e.printStackTrace();}return "";}

2:过滤得正文

第一步:我们先把<script>标签和这个标签当中的内容过滤掉

第二步:我们在把其他标签过滤掉第三步

第三步:我们把多个空格合并为一个空格

注:我们的String对象是一个不可变对象,所以要重新整一个String对象。第一步和第二步不能颠倒哈。

    public String parseContentByRegex(File f){//1:先把整个文件读到String里面String content = readFile(f);//2:替换掉script 标签content = content.replaceAll("<script.*?>(.*?)</script>","");//匹配非换行字符若干次,最短结果(非贪婪)//3:替换掉普通的html标签content = content.replaceAll("<.*?>"," ");//2,3顺序不能换,不然先把scrip标签整没了,那script标签中的内容咋整?//4:合并多个空格为1个空格content = content.replaceAll("\\s+"," ");return content;}

 用\s来匹配多个空白字符,这里我们要防转义再加一个\

3:优化前后对比

http://www.dtcms.com/wzjs/306215.html

相关文章:

  • 西安疫情2023年搜索引擎优化方法
  • 高安网站找工作做面点事黄冈网站建设收费
  • 在哪个网站做简历比较好关键词优化排名
  • 网站开发需要哪些资料软文广告经典案例300
  • 义乌网站建设现状外链百科
  • 做船公司网站网盘搜索引擎入口
  • iis 网站拒绝显示此网页免费建站的网站哪个好
  • 做网站卖产品要注册公司吗百度云网盘下载
  • 网站建设公司ipo广东网站营销seo方案
  • 罗湖做网站哪家好互联网运营
  • 哪个网站可以做服装批发衣服黑龙江网络推广好做吗
  • 怎么做同学录的网站免费发链接的网站
  • 银川如何做百度的网站免费个人网站建站申请
  • 紫网站建设清远市发布
  • 免费淘宝网站建设最新新闻播报
  • 集宁有做蒙古黑石材网站的嘛上海今天刚刚发生的新闻
  • 怎么免费制作网站宁波seo行者seo09
  • 连云港网站制作公司口碑好百度投诉中心在线申诉
  • 苏州高端做网站小程序开发多少钱
  • 人力资源外包服务公司网站seo关键词
  • 重庆技术支持 网站建设公司软文范例大全300字
  • 各大网站投稿推广神器app
  • 报考大专学历需要什么条件镇江seo优化
  • 单页面的网站50篇经典软文100字
  • 网站建设的研究目标网站收录一键提交
  • 社交公众号开发公司百度搜索引擎优化方案
  • 政府网站建设比较好的sem推广
  • 番禺品牌型网站建设郑州seo顾问阿亮
  • 企业网站开发建设委托合同成功的网络营销案例及分析
  • 如何做棋牌网站今日头条新闻推荐