2013-01-16 24 views
-3

我需要在發送消息之前向用戶發送SMS我想從消息中移除不支持的字符。我添加了我的API文檔行作爲參考。正則表達式刪除SMS不支持的字符

一般來說,只有標準ASCII字符集的一個子集才支持通過SMS傳遞給用戶的內容。支持的字符列表是A-Z,a-z,0-9和以下內容:

@$_/.,"():;-=+*&%#!?<>'加空格和換行"\n"

大多數特殊字符不支持,並會導致無線運營商拒絕郵件。特別是,重音符號及以下不支持:

標籤[]~{}^|\

當創作通過短信傳送的內容,這也是重要的是使用了簡單的ASCII字符撇號,省略號以及單引號和雙引號:

使用'而不是<`>和的

使用"代替<「><」>

使用...代替(注:這是三個不同的時期,而不是單一的省略號)

所以我在尋找的正則表達式滿足這個要求。

+0

你有什麼先嚐試? – ThiS

+0

我沒有關於正則表達式的知識,我還沒有嘗試任何東西,所以我需要專家的幫助。 – chella

+0

你可以,你知道,試着在問之前先學習一下。 http://txt2re.com/ –

回答

3

你可以更換不匹配的有效問卷中的所有字符:

[^[email protected]$_\/.,"():;\-=+&%#!?<>' \n] 

[]手段:「任何的」和^意思是:「不」。所以整個表達式表示:匹配任何東西,但...

所以你會寫:

replace all [^[email protected]$_\/.,"():;\-=+&%#!?<>' \n] in the SMS by nothing 

如需進一步信息(和你的其他問題;-))請看看這個Howto

+0

嘿癢,謝謝你的答案。這很有用。 :) – chella