Removing soft hyphens from a string

别来无恙 提交于 2019-12-01 05:18:31

问题


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.


回答1:


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,'');


来源:https://stackoverflow.com/questions/10380366/removing-soft-hyphens-from-a-string

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!