2014-07-08 62 views
1

我有這個字符串‘Some string here’。我想從這個字符串中刪除這些奇怪的字符(',')。我目前使用replace()函數,但它不會用空字符串替換它。以下是腳本。我怎樣才能刪除它?使用jQuery刪除奇怪的字符/ javascript

for (var i = 0, len = el.length; i < len; i++) { 
     $(el[i]).text().replace("‘", ""); 
    } 
+0

根據您的情況和有多少個字符要替換。定義允許的字符並刪除沒有指定的字符會不會更容易? – MLeFevre

+0

問題是這些字符串是使用某種軟件自動生成的。我需要刪除它們使用javascript – 26ph19

回答

0

此代碼工作正常,我:

"‘Some string here’".replace("‘","").replace("’",""); 
1

你只是刪除其ASCII值小於127

var input="‘Some string here’."; 
var output = ""; 
    for (var i=0; i<input.length; i++) { 
     if (input.charCodeAt(i) <= 127) { 
      output += input.charAt(i); 
     } 
    } 
alert(output);//Some string here. 

fiddle link

元素

刪除您循環

,並嘗試

$(el[i]).text().replace("‘","").replace("’",""); 
1

那些奇怪的字符可能不那麼怪異;他們很可能是character encoding problem的症狀。猜測,他們是smart quotes沒有正確顯示。

您應該更新您的頁面,使其顯示爲UTF-8,而不是試圖將它們從文本中除去。網頁標題補充一點:

<meta charset="utf-8" /> 

那麼,爲什麼會發生這種情況?基本上,大多數字符編碼對於「簡單」文本(字母,數字和某些符號)是相同的,但對不太常見的字符(重音符號,其他字母,不常用符號等)具有不同的表示。當你的瀏覽器得到一個沒有任何字符編碼的文檔時,瀏覽器會猜測。有時會出錯,而你會看到奇怪的字符,而不是你所期望的。

+0

我在頭部添加了元標記使用JavaScript,但它仍然顯示這些怪異的(對我來說)字符。 – 26ph19

+0

不要通過JavaScript添加它;如果您在頁面加載後添加標籤,我認爲瀏覽器不會重新解釋頁面。你應該把它硬編碼到你的HTML中。 –

+0

在這種情況下,HTML並不在我的手中。它是自動生成的。 – 26ph19

0

創建一個fiddle你的問題的解決方案

代碼段:

var str = "‘Some string hereâ€"; 
str = str.replace("‘", ""); 
str = str.replace("â€", ""); 
alert(str); 
0
.filter('SpecialCharacterToSingleQuote', function() { 
     return function(text) { 
      return text ? String(text).replace(/â/g, "'").replace(/&#128;|&#153;|&#156;|&#157;/g, "") : ''; 
     }; 
    });