6

ソフトハイフンが散らばっている文字列があるとしましょう(以下のテキストのハイフンがソフトハイフンであると仮定してください):

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

ソフトハイフンを削除して、次の文字列のみを返したい:

This is a test.

私はJavaScriptでこれをやろうとしています。以下は、私がこれまでに得た最も遠いものです。

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

アラートが表示されたとき、私が得たのは「-」だけでした。それがソフト ハイフンかハード ハイフンかはわかりませんが、もっと重要なことに、それは機能しませんでした。

正規表現の何が問題なのかを調べようとしています。または、JavaScript または jQuery の使用に気付いていないソフト ハイフンを削除するためのより良い方法があります。

4

1 に答える 1

11

文字が実際に Unicode 00AD であると仮定すると、次のようになります。

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

削除するハイフンが多数ある場合は、文字クラスを使用します。

var result = text.replace(/[\u00AD\u002D\u2011]+/g,'');
于 2012-04-30T23:49:56.010 に答える