有一種更有效的方法可以刪除字符串中的重音符號,而不必使用要替換的字符進行大陣列?從字符串中刪除重音C
例如:
removeaccents("áèfoo")
輸出:
aefoo
在ASCII表有沒有口音
,我不知道如何做到這一點。提前致謝。 :)
有一種更有效的方法可以刪除字符串中的重音符號,而不必使用要替換的字符進行大陣列?從字符串中刪除重音C
例如:
removeaccents("áèfoo")
輸出:
aefoo
在ASCII表有沒有口音
,我不知道如何做到這一點。提前致謝。 :)
聽起來就像你正在尋找unac()
。從手冊頁:
unac
is a C library that removes accents from characters, regardless of the character set (ISO-8859-15, ISO-CELTIC, KOI8-RU...) as long asiconv(3)
is able to convert it into UTF-16 (Unicode).
我找不到下載頁面(我認爲它的意思是here,但鏈接目前404ing)。
sudo apt-get install libunac1-dev
假設你正在使用gcc,一旦安裝你需要添加-lunac
到您的編譯器選項(告訴編譯器與鏈接:如果你在Ubuntu,你可以得到它unac庫)。
非常感謝。 :)我下載並安裝了,但是當我嘗試鏈接並編譯時,出現以下錯誤:'/tmp/ccakGVl9.o:在函數'main'中: ILD.c :(.text + 0x651):未定義引用' unac_string」 collect2:LD返回1個退出狀態 '我的代碼: '#包括
我在'gcc'上使用'-lunac'選項解決了問題,並將ISO-8859-1編碼改爲UTF-8編碼,現在工作正常。非常感謝你:) – Jack 2012-03-14 21:02:02
不客氣。我編輯它到答案:) – 2012-03-14 23:04:42
您可以始終使用if梯形圖而不是轉換表。 – 2012-03-14 03:11:10
任何想法什麼編碼的字符串將使用? – loganfsmyth 2012-03-14 03:12:41
可能的幫助問題:http://stackoverflow.com/questions/144761/how-to-remove-accents-and-tilde-in-ac-stdstring – chikuba 2012-03-14 06:09:58