我正在過濾聊天系統中的聊天消息,其中需要將字符串限制爲Latin-1英語。用戶傾向於使用創意打字,例如如何通過標準化信函形式來過濾聊天信息?
ßòógīě§
,而不是
Boogies
在Java中,有Unicode的歸一化方法可以刪除變音符號,但我更感興趣的是朝着正常化的英文字母的形狀的方法,和拉丁語-1字符集。
是否有任何表格,庫或方法可以將拉丁語-1之外的常用Unicode字符映射到最近的窗體?例如。
ß -> B
§ -> S
¥ -> Y
¤ -> o
我懷疑,答案是「不,這將是太大,只是過濾大家都出去了,而不是」但我希望......
我懷疑是相同的,如果字符集很小,那麼你可以通過維護一個散列圖來手動映射它們 – 2010-10-11 09:16:56
你打算用'strabe'替換'straße'嗎?德國人會不同意。 – axtavt 2010-10-11 10:01:07
刪除分隔符後,您肯定必須編寫自己的附加映射表。對於「像其他基本ASCII字符看起來有點像但實際上與它們無關」的字符,沒有可能的標準,就像示例中的那些標準。但是,我同意邁克爾的觀點:過濾基本上是徒勞的。你將永遠無法屏蔽所有掩飾「壞」字眼的方法,而越多嘗試越多,你就會失火併阻止「好」字眼。 – bobince 2010-10-11 10:08:29