Maison  >  Article  >  interface Web  >  Exemples d'utilisation de la méthode replace() en Javascript

Exemples d'utilisation de la méthode replace() en Javascript

黄舟
黄舟original
2017-11-23 09:38:271608parcourir

Dans notre développement quotidien, la méthode replace en javascript appartient à l'objet String et peut être utilisée pour remplacer string peut également être utilisée dans expression régulière<.>, nous allons donc aujourd'hui discuter en détail des exemples d'utilisation de la méthode replace() en Javascript !

À propos de la définition

La méthode replace() est utilisée pour remplacer certains caractères par d'autres caractères dans une chaîne, ou pour remplacer une sous-chaîne qui correspond à une expression régulière.

À propos de la syntaxe

stringObject.replace(regexp/substr,replacement)
À propos des paramètres

Paramètres
参数 描述

regexp/substr

必需。规定子字符串或要替换的模式的 RegExp 对象。

请注意,如果该值是一个字符串,则将它作为要检索的直接量文本模式,而不是首先被转换为 RegExp 对象。

replacement 必需。一个字符串值。规定了替换文本或生成替换文本的函数。

Description

regexp/substr


Obligatoire . Un objet RegExp qui spécifie la sous-chaîne ou le modèle à remplacer.

Notez que si la valeur est une chaîne, elle est récupérée sous forme de modèle de texte littéral, plutôt que d'être convertie en premier en un objet RegExp.

remplacement Obligatoire. Une valeur de chaîne. Spécifie les fonctions permettant de remplacer du texte ou de générer du texte de remplacement.


var str = "aaaaa"; 
var str1 = str.replace("a", "b");
var str2 = str.replace(/a/g, "b");

1. Le premier paramètre regexp/substr, lors de l'utilisation d'expressions régulières, utilise l'identifiant global g, qui peut remplacer toutes les sous-chaînes correspondantes, sinon il ne correspondra qu'une seule fois.
字符 替换文本
、、...、 与 regexp 中的第 1 到第 99 个子表达式相匹配的文本。
$& 与 regexp 相匹配的子串。
$` 位于匹配子串左侧的文本。
$' 位于匹配子串右侧的文本。
$$ 直接量符号。
Par exemple : Résultats d'exécution : str1 -> "baaaa", str2 -> "bbbbb"2. can Il s'agit d'une chaîne ou d'une fonction, ou cela peut être une signification spécifique du caractère $.

   






a. function的例子:

var str = "111222aa";
str.replace(/(\d{3})/g, function(word){
 return "b";
});

     运行结果: "bbaa"

    b. $的例子

var str = "1234567890";
str.replace( /(\d{3})(\d{3})(\d{4})/g, "$1-$2-$3" );

     运行结果: "123-456-7890"

注: 大多时候是利用regexp和$的结合来实现需求,所以知道一些基本的正则表达式规则是有必要的。

字符串替换字符串

&#39;I am loser!&#39;.replace(&#39;loser&#39;,&#39;hero&#39;)

//I am hero!
直接使用字符串能让自己从loser变成hero,但是如果有2个loser就不能一起变成hero了。

&#39;I am loser,You are loser&#39;.replace(&#39;loser&#39;,&#39;hero&#39;);
//I am hero,You are loser

正则表达式替换为字符串

&#39;I am loser,You are loser&#39;.replace(/loser/g,&#39;hero&#39;)
//I am hero,You are hero

使用正则表达式,并将正则的global属性改为true则可以让所有loser都变为hero

有趣的替换字符

replaceValue可以是字符串。如果字符串中有几个特定字符的话,会被转换为特定字符串。

字符 替换文本
$& 与正则相匹配的字符串
$` 匹配字符串左边的字符
$' 匹配字符串右边的字符
$1,$2,$,3,…,$n 匹配结果中对应的分组匹配结果
使用$&字符给匹配字符加大括号

var sStr='讨论一下正则表达式中的replace的用法';
sStr.replace(/正则表达式/,'{$&}');
//讨论一下{正则表达式}中的replace的用法
使用$`和$'字符替换内容

&#39;abc&#39;.replace(/b/,"$`");
//aac
&#39;abc&#39;.replace(/b/,"$&#39;");
//acc

使用分组匹配组合新的字符串

&#39;nimojs@126.com&#39;.replace(/(.+)(@)(.*)/,"$2$1")
//@nimojs
replaceValue参数可以是一个函数

StringObject.replace(searchValue,replaceValue)中的replaceValue可以是一个函数.
如果replaceValue是一个函数的话那么,这个函数的arguments会有n+3个参数(n为正则匹配到的次数)

先看例子帮助理解:

function logArguments(){ 
 console.log(arguments);
//["nimojs@126.com", "nimojs", "@", "126.com", 0, "nimojs@126.com"] 
 return &#39;返回值会替换掉匹配到的目标&#39;
}
console.log(
 &#39;nimojs@126.com&#39;.replace(/(.+)(@)(.*)/,logArguments)
)

参数分别为

匹配到的字符串(此例为nimojs@126.com,推荐修改上面代码的正则来查看匹配到的字符帮助理解)
如果正则使用了分组匹配就为多个否则无此参数。(此例的参数就分别为”nimojs”, “@”, “126.com”。推荐修改正则为/nimo/查看控制台中返回的arguments值)
匹配字符串的对应索引位置(此例为0)
原始字符串(此例为nimojs@126.com)
使用自定义函数将A-G字符串改为小写

&#39;JAVASCRIPT&#39;.replace(/[A-G]/g,function(){
 return arguments[0].toLowerCase();
})
//JaVaScRIPT

使用自定义函数做回调式替换将行内样式中的单引号删除

&#39;<span style="font-family:\&#39;微软雅黑\&#39;;">demo</span>&#39;.replace(/\&#39;[^&#39;]+\&#39;/g,function(){  
 var sResult=arguments[0];
 console.log(sResult);//&#39;微软雅黑&#39;
 sResult=sResult.replace(/\&#39;/g,&#39;&#39;);
 console.log(sResult);
//微软雅黑
 return sResult;
})
//<span style="font-family:微软雅黑;">demo</span>

总结:

相信小伙伴们通过对本文的学习和了解,对Javascript中replace()方法的使用有了进一步的了解,希望对你的工作有所帮助!

相关推荐:

JavaScript正则方法replace实现搜索关键字高亮显示

js中replace()赋值时的用法

js学习正则之replace的实例详解

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn