JS USES the replace of method and regular expression to search and replace instances of strings

  • 2020-03-30 02:37:09
  • OfStack

1. The use of JS string replacement and replace() method

The replace(regexp) method has two parameters. The first parameter can be a plain text string or a regexp object. The second argument can be a string or a function.

The following is an example of JS string substitution:

Case 1:


var str="Hello world!";
document.write(str.replace(/world/, "phper"));

Example 2:

var reg=new RegExp("(\w+),(\d+),(\w+)","gmi");
var info="Lili,14,China";
var rep=info.replace(reg, "She is $1, $2 years old, come from $3");
alert(rep);

Example 3:

var reg=new RegExp("(\w+),(\d+),(\w+)","gmi");
var info="Lili,14,China";
var name, age, from;
function prase_info(m,p1,p2,p3) { //You can also use non-explicit arguments, obtained using arguments
 name = p1;
 age = p2;
 from = p3;
 return "She is "+p1+", "+p2+" years old, come from "+p3;
}
var rep=info.replace(reg, prase_info);
alert(rep);
aler(name);

2. Use of RegExp objects

JavaScript provides a RegExp object to perform operations and functions on regular expressions, with each regular expression pattern corresponding to a RegExp instance. There are two ways to create an instance of a RegExp object.

Use the explicit constructor of RegExp, syntax: new RegExp("pattern"[,"flags"]); Use RegExp's implicit constructor in plain text format: /pattern/[flags]. In example 4, the two statements are equivalent.

Example 4:


var re1 = new RegExp("\d{5}");
var re2 = /d{5}/;

  3. Search for strings and use of exec() methods

  The exec() method returns an array of matches. If no match is found, the return value is null.

Example 5:


var reg=new RegExp("(\w+),(\d+),(\w+)","gmi");
var m=reg.exec("Lili,14,China");
var s="";
for (i = 0; i < m.length; i++) {
      s = s + m[i] + "n";
}
alert(s);

4. Use of test() method

RegExpObject. Test (string)

Returns true if the string string contains text that matches RegExpObject, or false otherwise.

Example 6:


var reg=new RegExp("(\w+),(\d+),(\w+)","gmi");
var m=reg.test("Lili,14,China");
alert(RegExp.$1); 
alert(RegExp.$2);
alert(RegExp.$3);


Related articles: