underscore to space and capitalize first letters


I use the following code:

'window.status=\'' + this.items[i].url.replace("\.\./", "").replace("\./", "").replace("\.html", "").replace("\.htm", "").replace("\.php", "") + '\'; return true" ' +
 (thanks, Basilisci: http://www.experts-exchange.com/Web/Web_Languages/JavaScript/Q_22060261.html)

Now I want to change it so that _ becomes a space and each word is capitalized, like this:


 should become

      Hello World

Any ideas?

LVL 16
Who is Participating?
RoonaanConnect With a Mentor Commented:
'window.status=\'' + this.items[i].url.replace("\.\./", "").replace("\./", "").replace(/\.(html|htm|php)/ig, "").replace.replace(/_/g, ' ').toUpperCase() + '\'; return true" ' +

hankknightAuthor Commented:
Thanks,  it gives me a JavaScript error, but I haven't done any testing yet.  I will let you know.
RoonaanConnect With a Mentor Commented:
Probably on the errorous part replace.replace(/ (there should only be a single replace)

IAmMennoConnect With a Mentor Commented:
Hm, I just wrote this function, and then I see Roonaan already answered this. Well, here it is anyway:

function rpStr(text){
var tmpStr = new String(text);
      return tmpStr.replace(/_/g, " ").replace(/(^| )./g, function(a){
            return a.toUpperCase();

It very neatly replace underscores and capitalizes words. Enjoy.
ftaco96Connect With a Mentor Commented:
'window.status=\'' + this.items[i].url.replace("\.\./", "").replace("\./", "").replace(/\.(html|htm|php)/ig, "").replace(/_/g, ' ').toLowerCase().replace(/\b[a-z]/g, titleCase) + '\'; return true" ' +

and have this function in the page...
        function titleCase() {
            return arguments[0].toUpperCase();

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.