...

View Full Version : Find and replace multiple words with javascript



webshark
09-27-2012, 11:57 PM
I am looking for a way to find and replace multiple words within a sentence using javascript. Ideally I would like to take a sentence and replace multiple words within that sentence i.e.

text **WORD 1** text | text **WORD 2** text

How can I replace both WORD1 and WORD2 with independent different words?

i.e.
WORD1= New-word-1
WORD2= New-word-2

here is the code:
http://jsfiddle.net/yaaf8/

and to take it one step further I would like to pull new word values from an excel sheet, run a loop with the new words to be replaced and have the output of the new sentences all on one page.

Any guidance would be greatly appreciated.

xelawho
09-28-2012, 12:11 AM
possibly missing the point here, but...


var visitorName = "new word 1";
var loc = "here";
var myOldString = "Hello word1! I hope you enjoy your stay word2.";
var myNewString = myOldString.replace(/word1/g, visitorName).replace(/word2/g, loc);
?

Philip M
09-28-2012, 09:03 AM
This perhaps?


<div id = "mydiv">Now is the time for all good men to come to the aid of their country.</div>
<div id = "mydiv1"></div>

<script type = "text/javascript">

var ow = ["now", "time","good","men","country"];
var nw = ["tomorrow", "occasion", "fine", "women", "state"];

var txt = document.getElementById("mydiv").innerHTML;
var txtsplit = txt.split(" ");

for (var i =0; i<txtsplit.length; i++) {
for (var j = 0; j <ow.length; j++) {
if (txtsplit[i].toLowerCase() == ow[j]) {
txtsplit[i] = nw[j];
}
}
}

var newtext = txtsplit.join(" ");
newtext = newtext.charAt(0).toUpperCase() + newtext.slice(1); // capitalise first letter of string
document.getElementById("mydiv1").innerHTML = newtext;

</script>


For importing Excel sheet in Javascript see

http://www.roseindia.net/javascript/javascriptexamples/javascript-get-excel-file-data.shtml

But it would be simpler to use a text file. Or just have the words in a Javascript array (as above).




The whole aim of practical politics is to keep the populace alarmed (and hence clamorous to be led to safety)by menacing it with an endless series of hobgoblins, all of them imaginary. - H.L. Mencken 1880-1956, American Editor, Author, Critic, Humorist



EZ Archive Ads Plugin for vBulletin Copyright 2006 Computer Help Forum