replace

重构——代码的坏味道

≯℡__Kan透↙ 提交于 2020-02-19 12:13:54
1. Duplicated Code( 重复的代码) 臭味行列中首当其冲的就是Duplicated Code。如果你在一个以上的地点看到相同的程序结构,那么当可肯定:设法将它们合而为一,程序会变得更好。 最单纯的Duplicated Code就是[同一个class内的两个函数含有相同表达式(expression)]。这时候你需要做的就是采用Extract Method提炼出重复的代码,然后让这两个地点都调用被提炼出来的那一段代码。 另一种常见情况就是[两个互为兄弟(sibling)的subclasses内含有相同表达式]。要避免这种情况,只需要对两个classes都使用Extract Method,然后再对被提炼出的代码使用Pull Up Method,将它推入superclass内。如果代码之间只是类似,并非完全相同,那么就得运用Extract Method将相似部分和差异部分割开,构成单独一个函数。然后你可能发现或许可以运用Form Template Method获得一个Template Method设计模式。如果有些函数以不同的算法做相同的事,你可以择定其中较清晰的一个,并使用Substitute Algorithm将其它函数的算法替换掉。 如果两个毫不相关的classes内出现Duplicated Code,你应该考虑对其中一个使用Extract Class

Remove Part of String Before the Last Forward Slash

放肆的年华 提交于 2020-02-18 05:03:18
问题 The program I am currently working on retrieves URLs from a website and puts them into a list. What I want to get is the last section of the URL. So, if the first element in my list of URLs is "https://docs.python.org/3.4/tutorial/interpreter.html" I would want to remove everything before "interpreter.html" . Is there a function, library, or regex I could use to make this happen? I've looked at other Stack Overflow posts but the solutions don't seem to work. These are two of my several

Remove Part of String Before the Last Forward Slash

巧了我就是萌 提交于 2020-02-18 05:02:20
问题 The program I am currently working on retrieves URLs from a website and puts them into a list. What I want to get is the last section of the URL. So, if the first element in my list of URLs is "https://docs.python.org/3.4/tutorial/interpreter.html" I would want to remove everything before "interpreter.html" . Is there a function, library, or regex I could use to make this happen? I've looked at other Stack Overflow posts but the solutions don't seem to work. These are two of my several

php中正则表达式详解

五迷三道 提交于 2020-02-16 06:39:16
概述 正则表达式是一种描述字符串结果的语法规则,是一个特定的格式化模式,可以匹配、替换、截取匹配的字符串。常用的语言基本上都有正则表达式,如JavaScript、java等。其实,只有了解一种语言的正则使用,其他语言的正则使用起来,就相对简单些。文本主要围绕解决下面问题展开。 有哪些常用的转义字符 什么是限定符与定位符 什么是单词定位符 特殊字符有哪些 什么是逆向引用以及怎样使用逆向引用 匹配模式 php中怎样使用正则表达式 php中哪些方面需要用到正则 怎样进行邮箱匹配,url匹配,手机匹配 怎样使用正则替换字符串中某些字符 贪婪匹配与惰性匹配区别 正则表达式之回溯与固态分组 正则优缺点有哪些 正则表达式的基本知识汇总 行定位符(^与$) 行定位符是用来描述字符串的边界。 “$” 表示行结尾 “^” 表示行开始如 "^de" ,表示以de开头的字符串 "de$" ,表示以de结尾的字符串。 单词定界符 我们在查找的一个单词的时候,如an是否在一个字符串”gril and body”中存在,很明显如果匹配的话,an肯定是可以匹配字符串“gril and body”匹配到,怎样才能让其匹配单词,而不是单词的一部分呢?这时候,我们可以是哟个单词定界符\b。 \ban\b 去匹配”gril and body”的话,就会提示匹配不到。 当然还有一个大写的\B,它的意思,和\b正好相反

python下载npr news音频为mp3格式

柔情痞子 提交于 2020-02-15 18:35:36
想通过听实时新闻来提高英语听力,学了那么多年的英语,不能落下啊,不然白费背了那么多年的单词。 npr news是美国国家公共电台,发音纯正,音频每日更新,以美国为主,世界新闻为辅,比如最近我国武汉发生的新型冠状病毒肺炎,每天都有涉及China,Wuhan,Coronavirus等词。 废话不多说,直接上代码: __author__ = "jayson" import requests import re from multiprocessing import Pool import time import traceback import sys import os def download_mp3(audios, music_index, headers, already_downloads): try: date = audios[2] # 文件前添加日期,便于排序 music_name = date + '_' + audios[0] + '.mp3' music_url = audios[1] if music_name in already_downloads: # 避免被重复下载 print('已存在,跳过下载') pass else: print(f'{music_index}下载中...') music_rt = requests.get(music_url,

如何处理JSON中的特殊字符

。_饼干妹妹 提交于 2020-02-15 03:55:48
JSON 是适用于 Ajax 应用程序的一种有效格式,原因是它使 JavaScript 对象和字符串值之间得以快速转换。由于 Ajax 应用程序非常适合将纯文本发送给服务器端程序并对应地接收纯文本,相比不能生成文本的 API,能生成文本的 API 自然更可取;而且,JSON 让您能够处理本地 JavaScript 对象,而无需为如何表示这些对象多费心思。 XML 也可以提供文本方面的类似益处,但用于将 JavaScript 对象转换成 XML 的几个现有 API 没有 JSON API 成熟;有时,您必须在创建和处理 JavaScript 对象时格外谨慎以确保所进行的处理能与所选用的 XML 会话 API 协作。但对于 JSON,情况就大不相同:它能处理几乎所有可能的对象类型,并会返回给您一个非常好的 JSON 数据表示。 因此,JSON 的最大价值在于可以将 JavaScript 真的作为 JavaScript 而非数据格式语言进行处理。 您所学到的所有有关使用 JavaScript 对象的技巧都可以应用到代码中,而无需为如何将这些对象转变成文本而多费心思。 1. 回车问题 JSON传值的时候,如果有回车符就会挂的。我们可以使用正则来去掉回车符: 1 $str = preg_replace( "'([\r\n])[\s]+'" , "" , $str ); 2 3 // 不用正则

fragment -重影问题

蹲街弑〆低调 提交于 2020-02-15 03:50:38
fragment -重影问题 造成fragment重影的原因: 代码里用add fragment 然后调用hide和show来替换replace方式 这样做不用每次切换fragment都重新加载界面和数据 但是正因为这样当我们activity异常关闭重启时你原先的所有fragment也都会跟着activity重新绘制出来,然而这个时候所有的hide和show失灵了, 因为我们默认是没有找到系统帮我们恢复的fragment,而是自己又重新new了一个fragment出来 解决这个问题的核心就是找到系统帮我恢复的fragment并操作相应方法 以上采用add fragment调用hide 和show来替换replace的方式,解决重影问题大都是采用以下方式解决: 重写onSaveInstanceState()方法注释掉super.onSaveInstanceState(outState)这句代码,这样activity就不会保存原fragment的实例了 @Override protected void onSaveInstanceState(Bundle outState) { // super.onSaveInstanceState(outState); } 由于这边界面显示不需要加载任何的数据,直接采用replace替换布局的方式显示内容 //默认启动时显示的页面

php 正则匹配省市区

£可爱£侵袭症+ 提交于 2020-02-14 23:21:46
匹配指定前后内容中的值 如匹配/xxx-abc中的abc preg_match('/\/xxx-([^<]*)/i', $route, $matches); echo $matches[1]; 去除字符串中换行 // 1)使用转义字符函数 <?php $str = str_replace(array("/r/n", "/r", "/n"), '', $str); ?> // 2)使用正则表达式替换 <?php $str = preg_replace('//s*/', '', $str); ?> // 3)使用PHP系统常量【推荐】 $str = str_replace(PHP_EOL, '', $str); 省市区正则匹配 preg_match('/(.*?(省|自治区|北京市|天津市))+(.*?(市|自治州|地区|区划|县))+(.*?(区|县|镇|乡|街道))/', $address, $matches);    获得省市区数组 $address = ‘广东省深圳市南山区’; preg_match('/(.*?(省|自治区|北京市|天津市))/', $address, $matches); if (count($matches) > 1) { $province = $matches[count($matches) - 2]; $address = str_replace(

搜索关键字描红

心不动则不痛 提交于 2020-02-14 22:52:36
使用JavaScript对处理关键字对后台数据库进行搜索时,对得到的搜索记录中的匹配关键字进行描红处理: 1: $.getJSON("http://10.65.9.187:8090/MySQLdemo/servlet/SearchControl", {"keyword":keyword}, function(data) { 2: //alert(data[1].bookname); 3: $.each(data, function(index, item){ 4: str += "<tr><td>"+item.id+"</td><td>"+item.bookname+"</td><td>"+item.issuDate+"</td><td>"+item.price+"</td><td>"+item.synopsis+"</td><td>"+item.Maker+"</td><td>"+item.pulisher+"</td></tr>"; 5: }); 6: str = str.replace(new RegExp(keyword, "gi"), "<font color='red'>"+keyword+"</font>"); 7: $("#mytb").html(str); 8: 9: }); 在这里有一个问题需要注意:使用 string .replace( regexp ,

10 信息化领域热词分类分析及解释 第四步热词引用 :爬取跟热词相关的文章链接

独自空忆成欢 提交于 2020-02-12 01:32:10
功能要求为:1,数据采集,定期从网络中爬取信息领域的相关热词       2,数据清洗:对热词信息进行数据清洗,并采用自动分类技术生成自动分类计数生成信息领域热词目录。       3,热词解释:针对每个热词名词自动添加中文解释(参照百度百科或维基百科)       4,热词引用:并对近期引用热词的文章或新闻进行标记,生成超链接目录,用户可以点击访问;       5,数据可视化展示:① 用字符云或热词图进行可视化展示;② 用关系图标识热词之间的紧密程度。       6,数据报告:可将所有热词目录和名词解释生成 WORD 版报告形式导出。 本次完成第四部的部分功能部分,由于还没写界面,所以只是获得超链接。 思路:遍历热词文件,得到热词,再循环爬取新闻的标题和内容,与热词一一对应,如果可以对应上,就添加到文件中,文件中每行是包含所有和热词相关的文章标题和超链接。 代码如下: import requests from lxml import etree import re def getDetail(href, title,line): line1 = line.replace('\n', '') #print(title) head = { 'cookie': '_ga=GA1.2.617656226.1563849568; __gads=ID=c19014f666d039b5:T