jordsta95
jordsta95

Reputation: 119

replace 2 different sets of words in a string in javascript

so I need to replace 2 sets of words in a string; the title of the web page. However, I seem to be able to get one set of words to be removed.

The title is being created by wordpress, which is adding words at the start and end of the title which I don't want to be displayed (as I am calling the title, using PHP, to dynamically create a few bits of information on the page, which are subject to change)

The code I have so far is:

<script>
var str = document.title.replace(/ - CompanyName/i, '');
document.write(str);
</script>

However, I need something which is basically:

var str = document.title.replace(/ - CompanyName/i, '') && document.title.replace(/The /i, '');

This is because the title will produce itself like "The PAGETITLE - CompanyName"

Any ideas how to remove 2 sections of the same string?

Upvotes: 0

Views: 53

Answers (4)

Urvi
Urvi

Reputation: 250

You can chain functions in JQuery like this:

var str =  document.title.replace(/ - CompanyName/i, '').replace(/The /i, '');

Upvotes: 0

Raghavendra
Raghavendra

Reputation: 3580

you can directly use like this

var title =  "The PAGETITLE - CompanyName";
title.replace(/The(.*?)-[^-]*/,'$1')

Upvotes: 1

Alin Pandichi
Alin Pandichi

Reputation: 955

Keep the title in a separate variable, re-assign the variable with the result of each replace, set the document title:

var title =  "The PAGETITLE - CompanyName";
title = title.replace("The ", "");
title = title.replace(" - CompanyName", "");
document.title = title;

Or, if you like one-liners:

document.title = document.title.replace("The ", "").replace(" - CompanyName", "");

Upvotes: 1

Laurens Koppenol
Laurens Koppenol

Reputation: 3106

var str = document.title.replace(/ - CompanyName/i, '').replace(/The /i, '');

the replace function yields the new string, which you want to run through replace again.

Upvotes: 0

Related Questions