sbconsole 中如何增加sql中replace的用法

Javascript中replace()小结
投稿:hebedich
字体:[ ] 类型:转载 时间:
在javascript中,replace方法是属于String对象的,可用于替换字符串。今天我们就来详细探讨下一些replace()方法的使用
& replace() 方法用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串。
stringObject.replace(regexp/substr,replacement)
regexp/substr
必需。规定子字符串或要替换的模式的 RegExp 对象。
请注意,如果该值是一个字符串,则将它作为要检索的直接量文本模式,而不是首先被转换为 RegExp 对象。
replacement
必需。一个字符串值。规定了替换文本或生成替换文本的函数。
1、第一个参数regexp/substr,使用正则表达式时用全局标识符g,可以替换所有匹配的子串,否则只会匹配一次。
var str = "aaaaa";
var str1 = str.replace("a", "b");
var str2 = str.replace(/a/g, "b");
  运行结果: str1 -& "baaaa",str2 -& "bbbbb"
2、第二个参数replacement,可以是字符串或者function,也可以是$字符具有的特定的含义。
$1、$2、...、$99
与 regexp 中的第 1 到第 99 个子表达式相匹配的文本。
与 regexp 相匹配的子串。
位于匹配子串左侧的文本。
位于匹配子串右侧的文本。
直接量符号。
&& a. function的例子:
var str = "111222aa";
str.replace(/(\d{3})/g, function(word){
return "b";
&&&& 运行结果: "bbaa"
&&& b. $的例子
var str = "";
str.replace( /(\d{3})(\d{3})(\d{4})/g, "$1-$2-$3" );
&&&& 运行结果: "123-456-7890"
注: 大多时候是利用regexp和$的结合来实现需求,所以知道一些基本的正则表达式规则是有必要的。
字符串替换字符串
'I am loser!'.replace('loser','hero')
//I am hero!
直接使用字符串能让自己从loser变成hero,但是如果有2个loser就不能一起变成hero了。
'I am loser,You are loser'.replace('loser','hero');
//I am hero,You are loser
正则表达式替换为字符串
'I am loser,You are loser'.replace(/loser/g,'hero')
//I am hero,You are hero
使用正则表达式,并将正则的global属性改为true则可以让所有loser都变为hero
有趣的替换字符
replaceValue可以是字符串。如果字符串中有几个特定字符的话,会被转换为特定字符串。
字符&替换文本
$&&与正则相匹配的字符串
$`&匹配字符串左边的字符
$'&匹配字符串右边的字符
$1,$2,$,3,…,$n&匹配结果中对应的分组匹配结果
使用$&字符给匹配字符加大括号
var sStr='讨论一下正则表达式中的replace的用法';
sStr.replace(/正则表达式/,'{$&}');
//讨论一下{正则表达式}中的replace的用法
使用$`和$'字符替换内容
'abc'.replace(/b/,"$`");
'abc'.replace(/b/,"$'");
使用分组匹配组合新的字符串
replaceValue参数可以是一个函数
StringObject.replace(searchValue,replaceValue)中的replaceValue可以是一个函数.
如果replaceValue是一个函数的话那么,这个函数的arguments会有n+3个参数(n为正则匹配到的次数)
先看例子帮助理解:
function logArguments(){
console.log(arguments);
//["", "nimojs", "@", "", 0, ""]
return '返回值会替换掉匹配到的目标'
console.log(
''.replace(/(.+)(@)(.*)/,logArguments)
参数分别为
匹配到的字符串(此例为,推荐修改上面代码的正则来查看匹配到的字符帮助理解)
如果正则使用了分组匹配就为多个否则无此参数。(此例的参数就分别为”nimojs”, “@”, “”。推荐修改正则为/nimo/查看控制台中返回的arguments值)
匹配字符串的对应索引位置(此例为0)
原始字符串(此例为)
使用自定义函数将A-G字符串改为小写
'JAVASCRIPT'.replace(/[A-G]/g,function(){
return arguments[0].toLowerCase();
//JaVaScRIPT
使用自定义函数做回调式替换将行内样式中的单引号删除
'&span style="font-family:\'微软雅黑\';"&demo&/span&'.replace(/\'[^']+\'/g,function(){
var sResult=arguments[0];
console.log(sResult);//'微软雅黑'
sResult=sResult.replace(/\'/g,'');
console.log(sResult);
//微软雅黑
//&span style="font-family:微软雅黑;"&demo&/span&
您可能感兴趣的文章:
大家感兴趣的内容
12345678910
最近更新的内容
常用在线小工具javascript中replace( )方法的使用
投稿:hebedich
字体:[ ] 类型:转载 时间:
JavaScript中replace函数方法是返回根据正则表达式进行文字替换后的字符串的复制。使用方法:其中stringObj是必选项。要执行该替换的 String 对象或字符串文字。
最近在浏览一些阿里的前端面试题,其中有一题涉及了javascript中replace( )方法的使用,下面是原题:
“说出以下函数的作用是?空白区域应该填写什么?”
(function (window) {
function fn(str) {
this.str =
fn.prototype.format = function () {
var arg = ______;
return this.str.replace(_______, function (a, b) {
return arg[b] || '';
window.fn =
})(window);
(function(){
var t = new fn('&p&&a href="{0}"&{1}&/a&&span&{2}&/span&&/p&');
console.log( t.format('', 'Alibaba', 'Welcome') );
以下是分析过程(感觉还是弄个编号,个人觉得比较有条理一些)
1、因为本题也涉及了到其它的知识点,如匿名函数、原型等知识点,但不是本次讨论的重点。
2、根据题面,我们知道,该题的源码类似于写一个模板引擎。将模板里的‘{1}'之类的占位符替换成传给它的参数。所以arg应该就是arguments。但是!!!由于arg不是数组,而是一个类数组对象(不懂的可自行百度(u_u)),所以我们需要进行一些转换,
代码如下:var arg=Array.prototype.slice.call(arguments,0);
3、等号右边也就是第一空的答案了。说了这么多,那么接下来第二空就是我们要讨论的重点了~~~~~~我们都知道第二空是要通过正则找出占位符,并根据占位符内的数字将其替换成arg数组内的字符串,说实话replace方法的第二个参数为函数的情况很少遇到,一般我们遇到都是这样的,看下面的代码:
&var pattern=/8(.*)8/;
&var str='This is a 8baidu8';
&document.write(str.replace(pattern,'&strong&$1&/strong&'));
4、由于replace第二个参数是函数的情况比较少,那么我们就来重点谈谈第二个参数为函数的情形。
首先这是replace函数的语法:stringobject.replace(regexp/substr,replacement)
其中regexp/substr必需。规定字符串或要替换的模式的regexp对象。(请注意,如果该值是一个字符串,则将它作为要检索的直接量文本模式,而不是首先被转换为 regexp 对象。) replacement必需。一个字符串值。规定了替换文本或生成替换文本的函数。最后返回一个新的字符串,是用replacement替换了regexp的第一次匹配或所有匹配之后得到的。
5、ECMAScript规定,replace()方法的参数replacement可以是函数而不是字符串。在这种情况下,每个匹配都调用该函数,它返回的字符串将替换文本使用。第一个参数表示匹配到的字符,第二个参数表示匹配到的字符最小索引位置(RegExp.index),第三个参数表示被匹配的字符串(RegExp.input)。
6、所以第二空可以这样写:/\{(\d+)\}/g,放在语句中完整为:
return this.str.replace(/\{(\d+)\}/g, function (a, b) {&
&&& return arg[b] || '';&
执行第一次匹配时,{0}被替代为arg[0]
执行第一次匹配时,{1}被替代为arg[1]
执行第一次匹配时,{2}被替代为arg[2]
7、以上就是js字符串方法replace()的第二个参数为函数讲解(有不完善的地方,自行补充),当然这道面试题也解决了~~~~~
以上所述就是本文的全部内容了,希望大家能够喜欢。
您可能感兴趣的文章:
大家感兴趣的内容
12345678910
最近更新的内容
常用在线小工具js中使用replace方法完成某个字符的转换
投稿:whsnow
字体:[ ] 类型:转载 时间:
这篇文章主要介绍了js中使用replace方法完成某个字符的转换,比较实用,需要的朋友可以参考下
var str = "国字[1990]12号";
如何把变量中的“[”和“]”的前面加上反斜杠,
就是要替换成这样:str = "国字\[1990\]12号";
&script language="javascript" type="text/javascript"&
var str = "国字[1990]12号";
str=str.replace(/\[/g,'\\[');
str=str.replace(/\]/g,'\\]');
document.write(str);
您可能感兴趣的文章:
大家感兴趣的内容
12345678910
最近更新的内容
常用在线小工具Excel中怎么使用REPLACE函数对电话号码进行升级?
作者:佚名
字体:[ ] 来源:互联网 时间:04-23 14:39:56
Excel中怎么使用REPLACE函数对电话号码进行升级?以前的电话号码没有加8,现在的电话号码都在区号后加8,该怎么将老号码换成新号码呢?下面我们来看看详细的教程
在计算机二级考试中,有Excel表格的练习,这里是Excel表格03版的。使用REPLACE函数对电话号码进行升级。例如下图所示
1、将使用REPLACE函数对电话号码进行升级。在(0571)后面加上&8&。
2、点击第一个空&升级后号码&。再点击菜单栏上的函数符号
3、可以自己输入搜索函数,我搜不来。
4、可以选择类别。REPLACE函数属于文本。
5、然后下拉,找到REPLACE函数。可以看到这个函数就是用来替换字符的。
6、按操作要求,在弹出的框里填入数字。
7、点击框右角的&返回表格&,点击需要替换字符的文本,即&原电话号码&的下列对应第一项。在图示的F2
8、第二行,是填入要要替换的字符所在的位置。(0571)后面加上&8&,也就是从左往右数,在第五位置上放上8。
9、第三行,要填入需要替换的字符,从操作要求看,是增加字符,不需要更换之前的。所以要输入&0&,而不是&1&。
10、然后第四行,就是输入需要新的替换字符,也就是要增加的&8&
11、我们可以看到计算结果已经在下方了。点击确定就好了。
12、在表格中,第一行已经完成。
13、然后就是点击&G2&右下角的&+&,鼠标按住下拉填充即可。
相关推荐:
大家感兴趣的内容
12345678910
最近更新的内容

我要回帖

更多关于 sql中replace的用法 的文章

 

随机推荐