在爬取資料時候遇到暱稱中有 emoji 符號的在儲存資料庫的時候會遇到報錯,這是因為 emoji 占用四個字元的大小,如果暱稱很重要,必須儲存完整暱稱的,需要修改資料庫的設定即可
如果儲存完整的暱稱不是很重要可以考慮刪除暱稱中存在的 emoji 符號,方法如下
我看了網上的其他資料,是用 emoji 的編碼區間過濾的,很明顯有缺陷,因為很難找到很全的 emoji 編碼區間表
所以我就在想自己的思路
方法很簡單,就是因為 emoji 佔的空間會更大,所以我們乾脆通過字元佔空間大小過濾
方法如下:
import sys
nickname = 'a比糖甜
temp_nickname = ''for _ in nickname:
if sys.getsizeof(_) != 80:
temp_nickname += _
nickname = temp_nickname
去除字串中的emoji字元
對於使用utf8編碼的mysql資料庫來說,如果字串中存在emoji小影象,是不能存進資料庫中的,查了一下,原因大概是因為utf8編碼可以存1 3個位元組的字元,但是emoji是4個位元組 解決方法可以把mysql的編碼換成utf8mb4,需要相應版本的mysql 另外一種方法是把字串中所有的emo...
字串 如何刪除字串中重複的字元
刪除字串中重複的字元,例如,good 去掉重複的字串後就變成 god 第一種方法 蠻力法 最簡單的方法就是把這個字串看作是乙個字元陣列,對該陣列使用雙重迴圈進行遍歷,如果發現有重複的字元,就把該字元置為 0 最後再把這個字元陣列中所有的 0 去掉,此時得到的字串就是刪除重複字元後的目標字串。第二種方...
如何刪除字串中重複的字元
預備知識 0表示整數,0 表示0字元,0 表示ascii碼值為0的字元 如果是 字串陣列 轉 字串 只能通過迴圈,沒有其它方法string str stringbuffer sb new stringbuffer for int i 0 i str.length i string s sb.tost...