Monday, May 20, 2024
 Popular · Latest · Hot · Upcoming
106
rated 0 times [  109] [ 3]  / answers: 1 / hits: 16995  / 14 Years ago, thu, may 6, 2010, 12:00:00

I have to do something like this



string  =  this is a good example to show

search = array {this,good,show}


find and replace them with a token like



string  =  {1} is a {2} example to {3} (order is intact)


the string will undergo some processing and then



string  =  {1} is a {2} numbers to {3} (order is intact)


tokens are again replaced back to the string likem so that the string becomes



string  =  this is a good number to show


how to make sure that the pattern is matched and the same tokens are replaced



for example /[gG]ood/ is a pattern to search and replaced later with appropriate case.Or in other words if ^s*[0-9]+. is the pattern the matched string needs to be stored and replace to form the original text as it was



How should it be implemented so that the process is done at high performance ?



Thanks in advance.


More From » regex

 Answers
72

You don't mention anything about multiple occurrences of the same token in the string, I guess you'll be replacing all occurrences.



It would go something like this:



var string = This is a good example to show, this example to show is good;
var tokens = ['this','good','example'];

for (var i = 0; i < tokens.length; i++) {
string.replace(new RegExp(tokens[i], g),{+i+});
}
// string processing here
for (var i = 0; i < tokens.length; i++) {
string.replace(new RegExp({+i+},g),tokens[i]);
}

[#96863] Tuesday, May 4, 2010, 14 Years  [reply] [flag answer]
Only authorized users can answer the question. Please sign in first, or register a free account.
janettejordynm

Total Points: 550
Total Questions: 94
Total Answers: 98

Location: Senegal
Member since Fri, Aug 21, 2020
4 Years ago
janettejordynm questions
Tue, Nov 24, 20, 00:00, 4 Years ago
Sat, May 23, 20, 00:00, 4 Years ago
Mon, Apr 6, 20, 00:00, 4 Years ago
Tue, Feb 18, 20, 00:00, 4 Years ago
;