gsub和sub使用
常用的使用方式省略,不再描述
如果第二个参数是hash,那么匹配到的串被替换的时候,将从hash里找对应的键,如果有,则替换为键对应的值,如果没有则替换为空字符串
"fofa is best".gsub(/best/, 'a' => '1') 返回 fofa is
"fofa is best".gsub(/best/, 'best' => 'good') 返回 fofa is good
以上两种使用方式没有意义,因为完全可以把第二个参数用字符串替换,更方便,如下更有意义
"fofa is best".gsub(/[best]/, 'b' => '1', "e" => '2', "s" => 3, "t" => "4") 返回 "fofa i3 1234"
块: 匹配的内容,将被传入块中作为参数,经过运算,返回被替换的内容
"fofa is best".sub("best"){|str| str+" and good"} 返回 fofa is best and good,这个等同于如下
使用\1和\2表示匹配正则里的子串,\1表示第一个子串,\2表示第二个子串,这里需要注意的是使用\1和\2这种需要用单引号,别用双引号,双引号会转为字符,如"\101"就是8进制的65,就是A字符, 如果非要使用双引号,由于转义的原因,可以这样使用"\\1"等同于'\1'
上面的示例可以用另一种方式实现,如下
"fofa is best".sub(/(best)/, '\1 and good') 返回 fofa is best and good
基于以上内容,那么"fofa is best".sub(/best/, '\1 and good')会返回 fofa is and good,因为\1没有匹配的子串,所以这里会是空
接下来是最重要的\+,经过测试这个代表最后一个匹配的子串,如下
"fofa is best".gsub(/(fofa) is (best)/, '*\+*') 返回 *best*
"fofa is best".sub(/best/, '\+') 返回 fofa is ,\+没有对应的匹配的子串,所以是空
问题:"a + b".gsub('+', "\\" + '+') 返回什么?
上面的表达式等于"a + b".gsub('+', "\\+") 等于 "a + b".gsub('+', '\+'),此时匹配的串里没有子串,\+就是空字符串,所以加号会被替换为空字符串,结果是a b
总结:
\& 和 \0: 表示匹配的整个正则的内容
\1 : 第一个子串
\2:第二个子串
\+: 最后一个子串
\\: 1个反斜杠
常用的使用方式省略,不再描述
如果第二个参数是hash,那么匹配到的串被替换的时候,将从hash里找对应的键,如果有,则替换为键对应的值,如果没有则替换为空字符串
"fofa is best".gsub(/best/, 'a' => '1') 返回 fofa is
"fofa is best".gsub(/best/, 'best' => 'good') 返回 fofa is good
以上两种使用方式没有意义,因为完全可以把第二个参数用字符串替换,更方便,如下更有意义
"fofa is best".gsub(/[best]/, 'b' => '1', "e" => '2', "s" => 3, "t" => "4") 返回 "fofa i3 1234"
块: 匹配的内容,将被传入块中作为参数,经过运算,返回被替换的内容
"fofa is best".sub("best"){|str| str+" and good"} 返回 fofa is best and good,这个等同于如下
使用\1和\2表示匹配正则里的子串,\1表示第一个子串,\2表示第二个子串,这里需要注意的是使用\1和\2这种需要用单引号,别用双引号,双引号会转为字符,如"\101"就是8进制的65,就是A字符, 如果非要使用双引号,由于转义的原因,可以这样使用"\\1"等同于'\1'
上面的示例可以用另一种方式实现,如下
"fofa is best".sub(/(best)/, '\1 and good') 返回 fofa is best and good
基于以上内容,那么"fofa is best".sub(/best/, '\1 and good')会返回 fofa is and good,因为\1没有匹配的子串,所以这里会是空
接下来是最重要的\+,经过测试这个代表最后一个匹配的子串,如下
"fofa is best".gsub(/(fofa) is (best)/, '*\+*') 返回 *best*
"fofa is best".sub(/best/, '\+') 返回 fofa is ,\+没有对应的匹配的子串,所以是空
问题:"a + b".gsub('+', "\\" + '+') 返回什么?
上面的表达式等于"a + b".gsub('+', "\\+") 等于 "a + b".gsub('+', '\+'),此时匹配的串里没有子串,\+就是空字符串,所以加号会被替换为空字符串,结果是a b
总结:
\& 和 \0: 表示匹配的整个正则的内容
\1 : 第一个子串
\2:第二个子串
\+: 最后一个子串
\\: 1个反斜杠
发表评论
-
ruby面试
2020-05-10 09:24 286Block、Proc 与 Lambda的区别: https: ... -
rails console 记录命令历史
2020-03-20 10:53 2711: 打开文件: vim ~/.irbrc,添加如下内容: ... -
mysql dyld: Library not loaded: /usr/local/opt/openssl/lib/libssl.1.0.0.dylib
2019-12-16 16:43 355今天一连串的神操作导致连接mysql一直报错,dyld: Li ... -
rails离线环境搭建相关命令
2018-12-17 09:35 3781:下载yum包: 环境搭建需要安装很多包,可以使用 yumd ... -
rails离线环境搭建相关命令
2018-12-17 09:35 3961:下载yum包: 环境搭建需要安装很多包,可以使用 yumd ... -
rails5 belongs_to 默认不能为空,报错must exist
2017-04-29 16:37 4391: 在config/application.rb设置 con ... -
随笔知识
2014-08-07 21:11 1782show-source: 查看方法在文件中的位置,show-s ... -
rails 中 group 按照一定的规则返回数据
2012-11-03 19:20 931has_many :user_resumes, class_n ... -
项目 经验
2012-10-10 15:53 01: user = User.first; user. ... -
数组使用will_paginate
2012-03-30 11:58 1405有的时候,在开发的过程中需要对模型数组进行分页,此时我们可以如 ... -
我的rails 编程规范
2012-01-16 15:19 8431: 属性中时间要已at结尾,例如created_at, ... -
html_safe
2012-01-12 13:56 1408html_safe: 可以保证(> < &am ... -
同时分页查找没有关联关系的多个表
2011-12-30 14:41 1245supplyinfos和seekinginfos两个表 需求: ... -
send_file ie下文件名乱码问题解决
2011-10-28 17:50 2421使用rails的send_file 实现下载功能时,type指 ... -
counter_cache的使用
2011-10-08 11:55 2691有点惭愧,做rails也2年了,竟然不会用co ... -
has_many 关联关系表单 提交
2011-04-18 17:16 1112class Author has_many :books ... -
belongs_to 多级关联关系
2011-04-12 14:18 1091有一种情况,是这样的c属于b,b属于a,但是我们有时候想建立c ... -
rails 根据异常显示特定的错误页面
2011-03-27 20:50 1151rescue_from 异常, :with => :a ... -
rails 笔记
2011-03-27 20:49 1692启动项目: ruby script/se ... -
rails 发送电子邮件(ActionMailer)
2011-03-27 20:49 35951: 复制以下配置邮件 ...
相关推荐
锈-git-gsub 在存储库中执行gsub的Git子命令。 从移植。 用法 用Subversion代替Git ,运行 $ git gsub Git Subversion 然后你会得到 diff --git a/README.md b/README.md index 2185dbf..393dbc6 100644 --- a/...
介绍Gulp-css-gsub是一个gulp模块,它将重写您的js和css文件,以减小文件大小并模糊您的代码。好处保护代码不被窃取允许您查找未使用CSS规则及其应用CSS文件的尺寸更小(最高可享受40%的折扣)安装npm install gulp...
hs-git-gsub 在存储库中执行gsub的Git子命令 用法 用Subversion代替Git ,运行 $ git gsub Git Subversion 然后你会得到 diff --git a/README.md b/README.md index 2185dbf..393dbc6 100644 --- a/README.md +++ b...
从字体的 OpenType gsub数据中收集字形名称。 一个小的, -compatabile 模块,它传递字体的潜在替换列表(OpenType gsub表)并将它们转换为可用的根字符名称列表,按 OpenType 功能排序。 入门 这是我们为构建的...
带有优雅DSL的Wombat Web抓取工具,可解析来自网页的结构化数据。 用法:gem install wombat抓取页面:最简单的使用Wombat的方法是调用Wombat.crawl并将其传递给Wombat Web抓取工具以及优雅的DSL,该...e.gsub(/ Expl
程序 XProc 是对 Ruby 的改进,它允许您使用方便的速记语法编写简单的块,其灵感来自 Scala、Crystal 和 Elixir。安装将此行添加到应用程序的 Gemfile 中: gem "xproc"用法由于它是一种改进,因此您必须在要使用它...
这个gem提供了几乎所有String方法的支持,例如String#split , String#match , String#gsub 。 它还提供对Array#sort和一些奖励方法(如String#titleize 。要求Ruby> = 2.7.0 导轨> = 6.0.0安装将此行添加到您的...
代码如下://String对象的静态方法 Object.extend(String, { interpret: function(value) { return value == ... Object.extend(String.prototype, (function() { //内部方法,为gsub和sub函数初始化replacement参数 f
GRE计算机专项考试指南,想考Gsub CS的童鞋可以下了看看,比较有帮助。
要重新运行此命令,可以使用UP和DOWN箭头键查看在终端中运行的命令的历史记录。 细绳 string_multiplication.rb 应该输出: "HoHoHo" 使用字符串乘法。 (不要只打印字符串文字"HoHoHo" ) string_case.rb 应该...
类似于 Ruby 的 JavaScript 方法。 Bury.js 扩展了原生 JS 对象的原型,例如 String、Number 和 Array。 例子 [ 3 , 3 , 4 , null ] . compact . uniq . sum // => 7 [ 1 , 2 , 3 , 4 ] . append ( 5 ) . last ...
sub 一种获取子域的命令。
添加到String.prototype中的方法比较多,不过归结起来,大致分为下面几类: 分类 方法名 原始能力增强 strip | include | startsWith | ...interpolate | sub | scan | truncate | gsub HTML处理
名称 String::Substitution - 简单的运行时字符串替换...sub_*和gsub_*函数有三种变体: copy - 在副本上执行替换并返回副本。 modify - 就地修改变量(就像$s =~ s/// )。 context - 根据context猜测要使用的版
用法: gem install wombat 抓取页面: 使用Wombat的最简单方法是调用Wombat.crawl并将其传递给一个块: require 'wombat'Wombat . crawl do base_url ...
小故障 AviGlitch 会破坏您的 AVI 文件。 我无法解释他们为什么要销毁自己... gsub ( / \d / , '0' ) end avi . output ( '/path/to/broken.avi' ) 该库还包括一个名为datamosh的命令行工具。 它创建删除关键帧的视频。
以下是处理数据以创建整洁数据所涉及的步骤 步骤 1:合并训练集和测试集以创建一个数据集。 这涉及读取训练和测试数据文件,然后组合和合并 读取训练数据文件 ...使用 gsub 删除名称中的 (, ), - 等特殊字符
interpolate | sub | scan | truncate | gsubinterpolate : 将字符串看作一个模板,并使用 object 的属性填充它。 sub : 将字符串中前指定个个与 pattern 指定的模式匹配的子串用 replacement 替换 scan : ...
awk命令常用用法整理;加入了自己在平时运用中的实例,比如通过查询数据库生成...gsub(r,s) #在整个$0中,用s代替r gsub(r,s,t) 在整个t中,用s代替r index(s,t) 返回s中字符串t的第一位置 length(s) 返回s长度 。。。
活动列中的数字现在使用 gsub 替换为名称 WALKING、SITTING、LAYING、STANDING、WALKING_UPSTAIRS、WALKING_DOWNSTAIRS。 提取平均值和标准列以形成最终数据框。 子集函数用于获取活动、主题、均值和标准。 然后...