2017-08-28 183 views
1

我試過下面如何從字符串中替換所有漢字?

str = 'Arc's 弧' 
str.replace(/[^a-z\d\s]+/gi,''); 

碼結果顯示

Arc039s 

預期結果

Arc's 

有什麼不好的代碼,是去除中國的字符,包括正確的方式標點?

在此先感謝。

+1

你確定實際的字符串是不是' 「弧'小號弧」'?你的輸入是HTML嗎?爲什麼你想刪除這些字符? – Ryan

+0

@Ryan是的,我從數據庫中得到它,並希望通過whatsapp分享一些文本,如果包含漢字whatsapp無法正確發送文本。 – Crazy

+1

試圖逃避漢字而不是刪除它? –

回答

0

入住這

var str = "Arc's 弧" 
alert (str); 
// by your regex 
alert (str.replace(/[^a-z\d\s]+/gi,'')); 
// by new regex which removes non-ascii characters 
alert(str.replace(/[^\x00-\x7F]/g, "")); 

str.replace(/[^a-z\d\s]+/gi,'')將消除中國的字符,但它也將刪除'所以你的新路線將是Arcsstr.replace(/[^\x00-\x7F]/g, "")正則表達式它會刪除非ASCII字符和新的字符串將Arc's

http://jsfiddle.net/yjcL5/104/

+0

它不適用於我的情況,我只能夠顯示弧和留下的字符將無法顯示,如果我共享文本到WhatsApp。 – Crazy

+0

@嚮導要更好地理解,請使用與您使用的完全相同的代碼創建小提琴 – Amogh

+0

我無法創建jsfiddle,因爲它是在顯示數據庫中的數據時導致的。如果我使用撇號創建示例數據,我沒有看到任何問題。 – Crazy

相關問題