2012-04-30 228 views
3

比方說,我有一個充斥着軟連字符的字符串(假裝在下面的文字連字符連字符):刪除軟連字符從字符串

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的軟連字符。

+1

凡在代碼執行字符串得到插回DOM? – Hamish

+0

@Hamish:這是一個將被其他東西調用的函數。軟連字符的匹配是最令人擔憂的部分,因爲我完全不知道如何擺脫那些忍者連字符,並將我的消毒字符串還給我。 – BeraCim

+0

但*「返回的字符串不再包含任何軟連字符」*。目前還不清楚你在問什麼。也許在jsfiddle.com上創建一個例子 – Hamish

回答

8

假設性格真的是Unicode 00AD:

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

如果你有many hyphens殺,使用字符類:

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