replace

Python丨Python 性能分析大全

爱⌒轻易说出口 提交于 2020-02-29 17:14:22
虽然运行速度慢是 Python 与生俱来的特点,大多数时候我们用 Python 就意味着放弃对性能的追求。但是,就算是用纯 Python 完成同一个任务,老手写出来的代码可能会比菜鸟写的代码块几倍,甚至是几十倍(这里不考虑算法的因素,只考虑语言方面的因素)。很多时候,我们将自己的代码运行缓慢地原因归结于python本来就很慢,从而心安理得地放弃深入探究。 但是,事实真的是这样吗?面对python代码,你有分析下面这些问题吗: 程序运行的速度如何? 程序运行时间的瓶颈在哪里? 能否稍加改进以提高运行速度呢? 为了更好了解python程序,我们需要一套工具,能够记录代码运行时间,生成一个性能分析报告,方便彻底了解代码,从而进行针对性的优化(本篇侧重于代码性能分析,不关注如何优化)。 谁快谁慢 假设有一个字符串,想将里面的空格替换为字符‘-’,用python实现起来很简单,下面是四种方案: def slowest_replace(): replace_list = [] for i, char in enumerate(orignal_str): c = char if char != " " else "-" replace_list.append(c) return "".join(replace_list) def slow_replace(): replace_str = ""

Replacing dots in a filename

ε祈祈猫儿з 提交于 2020-02-29 06:35:53
问题 How should I replace dots with underlines without losing the file extension? $str = $_FILES['files']['name']; //file.name.word.jpg $ext = end(explode('.', $str)); $filename = explode('.', $str); //output file_name_word.jpg ps: it needs to be before upload.. if the user uploads a file with dots it must to be renamed and inserted on db 回答1: Use pathinfo() to extract the file name and str_replace() to remove all the dots out of it. $filename = pathinfo('/path/to/your/file'); echo str_replace('.'

Replace with regular expression using Batch (Windows)

允我心安 提交于 2020-02-29 06:24:06
问题 is it possible to use regular expression for search and replace for a specific text file? I have a text file located C:\content.txt inside text there is google link https://www.google.com/ i need a batch (.bat) script which can replace <https://www.google.com/> to [abc]https://www.google.com/[/abc] here is the notepad++ regex replace Find What: .+(.google\.com).+ Replace with: [abc]$0[/abc] 回答1: You should use Regex in vbscript with a batch file like this code : You can see Regex Demo here

Replace Subclass with Fields (以字段取代子类)

点点圈 提交于 2020-02-29 04:40:37
Summary : 你的各个子类的唯一差别只在“返回常量数据”的函数身上 。修改这些函数,使它们返回超类中的某个(新增)字段,然后销毁子类。 Motivation: 建立子类的目的,是为了增加新特性或变化其行为。有一种变化行为被称为“常量函数” (constant method) ,它们会返回一个硬编码的值。这东西有其用途:你可以让不同的子类中的同一个访问函数返回不同的值。你可以在超类中将访问函数声明为抽象函数,并在不同的子类中让它返回不同的值。 尽管常量函数有其用途,但若子类中只有常量函数,实在没有足够的存在价值。你可以在超类中设计一个与常量函数返回值相应的子弹,从而完全去除这样的子类。如此一来就可以避免因继承而带来的额外复杂性。 Mechanics: 1. 对所有子类使用 Replace Constructor with Factory Method. 2. 如果有任何代码直接引用子类,令它改而引用超类。 3. 针对每个常量函数,在超类中声明一个 final 字段 4. 为超类声明一个 protected 构造函数,用以初始化这些新增字段。 5. 新建或修改子类构造函数,使它调用超类的新增构造函数。 6. 编译,测试。 7. 在超类中实现所有常量函数,令它们返回相应字段值,然后将该函数从子类中删掉 8. 没删除一个常量函数,编译并测试。 9. 子类中所有的常量函数都被删除后

JS转换HTML转义符

我的梦境 提交于 2020-02-29 02:46:03
今天在用wangeditor编辑器写后台管理文章页,在保存文章后需要调用一次编辑草稿,这时候需要把编辑的内容拿到编辑器中,结果输出了我的标签:<p>您好</p>.经过我的console.log(data)=="<p>打沙包</p> "。没错,我的<>被转义了,因为不转义的话没办法上传。 接下来,就是我从其他地方找来的正则。哈哈哈~ //去掉html标签 function removeHtmlTab(tab) { return tab.replace(/<[^<>]+?>/g,'');//删除所有HTML标签 }    //普通字符转换成转意符 function html2Escape(sHtml) { return sHtml.replace(/[<>&"]/g,function(c){return {'<':'<','>':'>','&':'&','"':'"'}[c];}); }   我是用的下面这个,就好了。嘿嘿~ //转意符换成普通字符 function escape2Html(str) { var arrEntities={'lt':'<','gt':'>','nbsp':' ','amp':'&','quot':'"'}; return str.replace(/&(lt|gt|nbsp|amp|quot);/ig,function(all,t){return

c#金额转换成中文大写金额

拜拜、爱过 提交于 2020-02-28 07:16:17
原文: c#金额转换成中文大写金额 2018-08-24 转别人 c#金额转换成中文大写金额 /// <summary> /// 金额转换成中文大写金额 /// </summary> /// <param name="LowerMoney">eg:10.74</param> /// <returns></returns> public static string MoneyToUpper(string LowerMoney) { string functionReturnValue = null; bool IsNegative = false; // 是否是负数 if (LowerMoney.Trim().Substring(0, 1) == "-") { // 是负数则先转为正数 LowerMoney = LowerMoney.Trim().Remove(0, 1); IsNegative = true; } string strLower = null; string strUpart = null; string strUpper = null; int iTemp = 0; // 保留两位小数 123.489→123.49  123.4→123.4 LowerMoney = Math.Round(double.Parse(LowerMoney), 2).ToString(

替换字符串C#中的换行符

夙愿已清 提交于 2020-02-27 19:32:05
如何在C#中替换字符串中的换行符? #1楼 由于新行可以用 \\n , \\r 和 \\r\\n 分隔,因此我们首先将 \\r 和 \\r\\n 替换为 \\n ,然后才拆分数据字符串。 以下几行应转到 parseCSV 方法: function parseCSV(data) { //alert(data); //replace UNIX new lines data = data.replace(/\r\n/g, "\n"); //replace MAC new lines data = data.replace(/\r/g, "\n"); //split into rows var rows = data.split("\n"); } #2楼 string s = Regex.Replace(source_string, "\n", "\r\n"); 要么 string s = Regex.Replace(source_string, "\r\n", "\n"); 取决于您要走的路。 希望能有所帮助。 #3楼 使用.Replace()方法 Line.Replace("\n", "whatever you want to replace with"); #4楼 当我想为字符串插入换行符,而不是从字符串中删除所有换行符时,我将使用Environment.Newline。

ewebeditor漏洞利用汇总

空扰寡人 提交于 2020-02-27 09:59:45
ewebeditor漏洞利用汇总 2007年09月24日 星期一 22:43 inurl:ewebeditor 现在eWebSoft在线编辑器用户越来越多,危害就越来越大~ 首先介绍编辑器的一些默认特征: 默认登陆admin_login.asp 默认数据库db/ewebeditor.mdb 默认帐号admin 密码admin或admin888 搜索关键字:"inurl:ewebeditor" 关键字十分重要 有人搜索"eWebEditor - eWebSoft在线编辑器" 根本搜索不到几个~ baidu.google搜索inurl:ewebeditor 几万的站起码有几千个是具有默认特征的~ 那么试一下默认后台 http://www.xxx.com.cn/admin/ewebeditor/admin_login.asp 试默认帐号密码登陆。 利用eWebEditor获得WebShell的步骤大致如下: 1.确定网站使用了eWebEditor。一般来说,我们只要注意发表帖子(文章)的页面是否有类似做了记号的图标,就可以大致做出判断了。 2.查看源代码,找到eWebEditor的路径。点击“查看源代码”,看看源码中是否存在类似“<iframe ID='eWebEditor1' src='/edit/ewebeditor.asp?id=content&style=web'

正则---让人喜欢让人忧(7)

无人久伴 提交于 2020-02-27 09:06:23
支持正则表达式的String对象方法:   字符串方法有:search match replace split   1. search:返回匹配文本第一个字符索引;找不到返回 -1;        自动忽略全局匹配;忽略lastIndex属性,从字符串开始检索。        stringObject.search(regexp);   2. match: 一个或多个正则表达式的匹配,检索指定的值;       存放匹配结果的数组。数组内容依赖于RegExp是否具有全局标志"g";       stringObject.match(searchvalue);       stringObject.match(regexp); //不是正则对象,传递给RegExp构造函数将其转换为RegExp对象;    var matStr="Hello world!"; var mat=matStr.match("H"); log(mat); //["H", index: 0, input: "Hello world!"] var matt = matStr.match(/l/g); log("全局模式"+matt); //全局模式["l", "l", "l"]   3. replace: 执行的是查找并替换的操作       stringObject.replace(regexp/substr

字符串内的替换之SyntaxError: cannot assign to literal

故事扮演 提交于 2020-02-26 23:24:11
问题描述: 当想替换字符串内的部分习惯表述时报错,源码如下: num1 = int ( input ( "请输入起始序数n1:" ) ) num2 = int ( input ( "请输入结束序数n2:" ) ) fuc = input ( "请输入以n为变量的通项公式(eg:2*n+1):" ) list_fuc = [ ] if "^" in fuc : "^" = "**" #问题处 for n in range ( num1 , num2 + 1 ) : list_fuc . append ( eval ( fuc ) ) print ( "该数列的和为:" + str ( sum ( list_fuc ) ) ) 报错: File "C:\Users\28654\Desktop\sub可擦除脚本.py" , line 7 "^" = "**" ^ SyntaxError : cannot assign to literal [ Finished in 0. 2s ] 赋值语句不能直接替换字符串中的旧字符串,而应当使用replace()函数 str . replace ( old , new [ , max ] ) 其中max是最高替换次数,可不填写则为全部替换 改写后: num1 = int ( input ( "请输入起始序数n1:" ) ) num2 = int (