Removing soft hyphens from a string
javascript, jquery, regex, soft-hyphen
Solution
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,'');
Problem
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.