Home > Web Front-end > JS Tutorial > body text

Detailed explanation of js replace and replaceall instance usage_javascript skills

WBOY
Release: 2016-05-16 17:27:09
Original
1081 people have browsed it

stringObj.replace(rgExp, replaceText)
 Parameters
 stringObj
 Required. The String object or string literal to perform this replacement on. The string will not be modified by the replace method.
rgExp
Required. Is a regular expression object containing a regular expression pattern or available flags. Can also be a String object or literal. If rgExp is not a regular expression object, it will be converted to a string and an exact search performed; do not attempt to convert the string to a regular expression.
replaceText
Required. Is a String object or string literal that replaces each matching position in rgExp in stringObj with the literal contained in the object. In Jscript 5.5 or newer, the replaceText parameter can also be a function that returns replacement text.
 Explanation
 The result of the replace method is a copy of the stringObj object that has completed the specified replacement.
Any of the following match variables can be used to identify the latest match and find the matching string. Match variables can be used in text replacements where the replacement string needs to be determined dynamically.
Character Meaning
$$ $ (JScript 5.5 or newer)
$& specifies the portion of stringObj that matches the entire pattern. (JScript 5.5 or newer)
 $` specifies the part of stringObj preceding the match described by $&. (JScript 5.5 or newer)
 $' specifies the part of stringObj after the match described by $&. (JScript 5.5 or newer)
 $n captures the nth submatch, where n is a decimal digit from 1 to 9. (JScript 5.5 or newer)
$nn captures the nnth submatch, where nn is a decimal two-digit number from 01 to 99. (JScript 5.5 or newer)
If replaceText is a function, for each matched substring, the function is called with the following m 3 parameters, where m is the number of left brackets captured in rgExp number. The first parameter is the substring to match. The next m parameters are all results captured in the search. The m 2nd parameter is the offset within stringObj where the match occurs, and the m 3rd parameter is stringObj. The result is a string value with each matching substring replaced with the corresponding return value of the function call.
 The Replace method updates the properties of the global RegExp object.
 Example
 The following example demonstrates the use of the replace method to replace the first occurrence of the word "The" with the word "A".

Copy code The code is as follows:

Function ReplaceDemo(){
var r, re ; // Declare variables.
 var ss = "The man hit the ball with the bat.n";
 ss = "while the fielder caught the ball with the glove.";
 re = /The/g; // Create Regular expression pattern.
 r = ss.replace(re, "A"); // Replace "The" with "A".
Return(r); // Return the replaced string.
 }
 In addition, the replace method can also replace subexpressions in the pattern. The following example demonstrates swapping each pair of words in a string:
Function ReplaceDemo(){
var r, re; // Declare variables.
 var ss = "The rain in Spain falls mainly in the plain.";
 re = /(S )(s )(S )/g; // Create a regular expression pattern.
 r = ss.replace(re, "$3$2$1"); // Swap each pair of words.
Return(r); // Return the result string.
 }

The following example (executed in JScript 5.5 and newer) performs a conversion from Fahrenheit to Celsius and demonstrates using the function as replaceText. To see how this function works, pass a string containing a numeric value followed by "F" (e.g. "Water boils at 212").
Copy code The code is as follows:

function f2c(s) {
 var test = /(d (.d*)?)Fb/g; // Initialization mode.
 return(s.replace
 (test,
 function($0,$1,$2) {
 return((($1-32) * 5/9) "C");
}
 )
 );
 }
 document.write(f2c("Water freezes at 32F and boils at 212F."));

js actually does not provide it replaceAll method, using for loop has efficiency issues, giving you a regular expression solution
 js code
Copy code The code is as follows:

String.prototype.replaceAll = function(s1,s2){
 return this.replace(new RegExp(s1,"gm"),s2);
}

Method: string.replace(new RegExp(oldString,"gm"),newString))
gm g=global, m=multiLine, roughly the method is like this, you can replace all specified strings
Another simple method to verify JS:
Enter
in the browser address bar javascript:alert("abcabcabc".replace(new RegExp("a","gm"),"ad"))
 This is easier;), I don’t know if it will be convenient for multiple lines
 orgStr.replace(new RegExp(findStr, 'g'), replaceStr)
 You should be able to replace all of them
If you don’t use regular expressions
orgStr.replace(findStr, replaceStr) can only replace the first one
Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!