亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

將符號、重音字母轉換為英文字母

將符號、重音字母轉換為英文字母

函數式編程 2019-07-19 16:40:23
將符號、重音字母轉換為英文字母問題是,正如你所知,有成千上萬的字符在Unicode圖表中我想把所有類似的字符轉換成英文字母表中的字母。例如,這里有幾個轉換:?->H?->V?->Y?->O?->C t?? ?????y --> the Family...我看到有20多個字母A/A的版本,我不知道如何分類。它們看起來就像干草堆里的針。Unicode字符的完整列表位于http:/www.ssec.wisc.edu/~tomw/java/unicode.html或http://unicode.org/charts/charindex.html..試著向下滾動,看看字母的變化。我如何用Java來轉換所有這些呢?請幫助我:
查看完整描述

3 回答

?
慕森卡

TA貢獻1806條經驗 獲得超8個贊

試圖“將它們全部轉化”是解決問題的錯誤方法。

首先,你需要了解你想要做的事情的局限性。正如其他人所指出的,數字符號的存在是有原因的:它們本質上是語言字母表中唯一的字母,有它們自己的意思/聲音等等:刪除這些標記就像替換英語單詞中的隨機字母一樣。這甚至在你開始考慮西里爾語和其他基于腳本的文本之前,比如阿拉伯語,它們根本不能被“轉換”成英語。

如果你無論出于什么原因,轉換字符,那么唯一明智的方法是首先縮小手頭任務的范圍??紤]輸入的來源-如果您正在為“西方世界”編寫一個應用程序(盡可能好地使用一個短語),那么您就不太可能需要解析阿拉伯字符了。同樣,Unicode字符集包含數百個數學符號和圖形符號:用戶沒有(容易)的方式直接輸入這些符號,因此可以假定它們可以被忽略。

通過執行這些邏輯步驟,您可以減少要解析的可能字符數,從而使基于字典的查找/替換操作是可行的。然后,它就變成了創建字典的一小部分單調乏味的工作,而執行替換則是一項瑣碎的任務。如果您的語言支持原生Unicode字符(就像Java那樣)并正確地優化靜態結構,那么這樣的查找和替換往往會非??臁?/trans>

這來自于使用了一個應用程序的經驗,該應用程序允許最終用戶搜索包含透明字符的書目數據。查找數組(在我們的例子中是這樣)可能需要一個人天的時間來生成,以覆蓋所有西歐語言的所有透明標記。


查看完整回答
反對 回復 2019-07-19
  • 3 回答
  • 0 關注
  • 642 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號