The replace function accepts two parameters. The first parameter is a string or a regular expression. The first parameter can also accept a string or a function.
First of all, if the first parameter is a string, we no longer need to say "I am a boy".replace("boy","girl"), and the output is: "I am a girl". What I want to talk about here is the case where the first parameter is regular. For regular expressions, the replacement behavior will first be determined based on whether it is global (global//g). If it is all, all will be replaced. If it is non-global, only the first matching string will be replaced. For example:
1: The second parameter is a string:
A special marker $ is agreed upon for regular replacement:
1.$i (i:1-99): Represents the text matched by the regular subexpression from left to right.
2.$&: Indicates the full text matching the regular expression.
3.$`(`:Switch skill key): Indicates the left text of the matching string.
4.$'(‘:single quote): indicates the text on the right side of the matching string.
5.$$: means $ transfer.
Here are a few demos:
2: The second parameter is a function:
It is recommended to use the function method in ECMAScript3, which is implemented in JavaScript1.2. When the replace method is executed, the function will be called every time, and the return value will be used as the new value of the replacement.
Requirements for function parameters:
1. The first parameter is the full text of each match ($&).
2. The middle parameter is the subexpression matching string, the number is not limited. ($i (i:1-99))
3. The penultimate parameter is the matching subscript of the matching text string Location.
4. The last parameter represents the string itself.
This is what this article is going to say about the power of replace. Theoretical things are all dry stuff. We need examples to solve all empty problems:
1: Capitalize the first letter of the string:
Output: I Am A Boy!
2: Extract and summarize the scores of the string "Zhang San 56 points, Li Si 74 points, Wang Wu 92 points, Zhao Liu 84 points", calculate the average score and output the average score difference for each person.
Output:
Zhang San scored 56 points (20.5 points below the average), Li Si 74 points (2.5 points below the average), Wang Wu 92 points (15.5 points above the average), and Zhao Liu 84 points (7.5 points above the average) points)
JavaScript’s replace function coupled with the advanced application of regularity, JavaScript’s replacement will bring back greater power, and we will not go into the advanced application assertions of regularity here.
Source: http://www.cnblogs.com/whitewolf/