BeraCim BeraCim - 5 months ago 55
jQuery Question

Removing soft hyphens from a string

Let's say I have a string that is littered with soft hyphens (pretend that the hyphens in the text below are soft hyphens):

T-h-i-s- -i-s- -a- -t-e-s-t-.-

I want to remove the soft hyphens and only return the string of:

This is a test.

I'm trying to do this in JavaScript. Below is the farthest I have gotten so far:

RemoveSoftHyphen: function (text) {
var result = text.match(/[^\uA00AD].*/);
alert (result);
return result;

When the alert displayed, all I got was a "-", which I'm not sure whether thats a soft or hard hyphen... but more importantly, it didn't work.

I'm trying to find out what is wrong with my regex, or is there a better approach to removing soft hyphens which I'm not aware of using either JavaScript or jQuery.


Assuming that the character really is Unicode 00AD:

var result = text.replace(/\u00AD/g,'');

If you have many hyphens to kill, use a character class:

var result = text.replace(/[\u00AD\u002D\u2011]+/g,'');