1. 程式人生 > >計算字串長度(處理emoji表情)

計算字串長度(處理emoji表情)

-(int)getFinalStringLength:(NSString*)inputString characterCount:(int)allCount
{
    if (nil == inputString || [inputStringisEqualToString:@""])
    {
        return  0;
    }
    
    __blockint count = 0;
    __blockint weakAllCount = allCount;
    __blockint allLength = 0;
    
    [inputString enumerateSubstringsInRange:NSMakeRange(0, inputString.length)
                               options:NSStringEnumerationByComposedCharacterSequences
                            usingBlock:^(NSString *substring,NSRange substringRange,NSRange enclosingRange,BOOL *stop){
                                count  += (1 == substring.length &&isascii([substring characterAtIndex:0]) ?1 : 2);
                                if (count <= weakAllCount)
                                {
                                    allLength += substring.length;
                                }                                
                            }];
    return allLength;
}


相關推薦

計算字串長度處理emoji表情

-(int)getFinalStringLength:(NSString*)inputString characterCount:(int)allCount { if (nil == inputString || [inputStringisEqualToStrin

傳入字串,計算字串長度用指標實現

int strlen(char *s) { int i=0; while(*s!='\0') { i++; s++; } return i; } void main() { char str[

JavaScript計算字串長度含中文

專案需求變更中有一個要求,就是在mini-textbox中,輸入的中文不能超過15個漢字,字元不可以超過30個。我用了miniUI自帶的vtype屬性,但是不好使,最後使用了一段JS程式碼進行了校驗,程式碼實現如下: //計算字串長度包含中文 funct

1161: 字串長度指標專題

1161: 字串長度(指標專題) #include<stdio.h> int len(char *sp)  {     int s=0;     while(*sp!='\0')    &nbs

JS判斷字串長度英文佔1個字元,中文漢字佔2個字元

//計算字串長度(英文佔1個字元,中文漢字佔2個字元) 方法一: [javascript] view plain copy String.prototype.gblen = function() {         var len = 0;         

JS判斷輸入字串長度漢字算兩個字元,字母數字算一個

<html> <head> <title>js判斷輸入字串長度(漢字算兩個字元,字母數字算一個)</title> <style type="text/css"> .pbt { margin-b

用指標處理計算字串長度

#include<iostream> using namespace std; int hhh(char *pt); void main() {int i;char str[100], *pt = str;cout << "請輸入陣列元素" <

SQL擷取非固定長度有關鍵字元字串

比如 ERPCustomInfo 表中某條記錄的QuYu欄位中有如下字元: 廣東省珠海市高欄港區  Select Substring(QuYu,0,CHARINDEX('省',QuYu)+1) as 省名 FROM ERPCustomInfo  --獲取到廣東省  Se

JavaScript取得字串長度中文,日文

JavaScript取得字串的長度,完美識別中文,日文。 (charCode >= 0 && charCode <= 128):中文; (charCode >= 65377 && charCode <=

如何求C語言字串長度strlen函式和sizeof關鍵字

原文出處:http://blog.csdn.net/kstrwind/article/details/8036555 ------------------------------------------------------------------------------

如何計算兩個年-月-日中間的間隔天數

相等 return 存在 ace hide 計數 opened end pre 給出任意兩個時間,計算其間隔天數應該如何進行? 思路一: 以日期較小的一個為參考對象,然後將日期一天天的加上去,直到和第二個日期完全相等,設置一個計數器(day++)來統計天數。 思路二: 上邊

計算基礎篇第二節課

雲計算基礎知識 基礎命令 0基礎 今天直接切入主題 開始了我的全新系統的操作 今天講了很多命令 需要記憶的 DAY02 1.0 Linux系統簡介 0.1-Linux是一種操作系統,一堆軟件的集合,讓計算機正常工作。 0.2-UNIX是1970.1.1日誕生的 0.3-Linux之父:Linus

大資料和雲端計算技術週報第8期:NoSQL特輯

寫在第8期特輯 “大資料” 三個字事實上是個marketing語言,從技術角度看,包括範圍非常廣。計算、儲存、網路都涉及。 為了滿足眾多同學學習和工作的須要。後面社群依據情況逐漸推出專門的分類集錦。希望大家喜歡! 究竟什麼是NoSQL?公眾號一系列

3——字串型別增刪改查

字串 增 查 st.find(字元,StartIndex,EndIndex) # 返回查詢到的字串的索引位置,如果未找到將返回-1 st.count(字元) # 返回查詢並統計這個字串的數量 st.index(字元) # 返回查詢的字串的索引位置,如果未找到將報錯,推薦使用str.find

處理Emoji表情(unicode)

處理Emoji表情(unicode) 適用於Android 和 IOS /** * @brief 幹掉emoji * @autho [email protected] * @param {String} $strText * @return {String}

Mysql關於處理emoji表情包報錯問題的處理

mysql使用emoji表情的功能,在mysql 5.5 之前,UTF-8編碼只支援1-3個位元組;從MySQL 5.5開始,可以支援4個位元組UTF編碼 utf8mb4 ,一個字元能夠支援更多的字符集,也能夠支援更多表情符號。 utf8mb4相容utf8,且比utf8能表示更多的字元,是utf

ES6字串擴充套件新增的方法

1、includes(): 返回布林值,表示是否找到了引數字串。 2、startsWith(): 返回布林值,表示引數字串是否在查詢字串的頭部。 3、endsWith(): 返回布林值,表示引數字串是否在查詢字串的尾部。 let str = "string"; con

Newcoder 109 E.求長度spfa+狀壓

Description 給定一幅 n n n個點

C#LeetCode刷題之#686-重複疊加字串匹配Repeated String Match

問題 給定兩個字串 A 和 B, 尋找重複疊加字串A的最小次數,使得字串B成為疊加後的字串A的子串,如果不存在則返回 -1。 舉個例子,A = "abcd",B = "cdabcdab"。 答案為 3, 因為 A 重複疊加三遍後為 “abcdabcdabcd”,此時 B 是其子串;A

C#LeetCode刷題之#541-反轉字串 IIReverse String II

問題 給定一個字串和一個整數 k,你需要對從字串開頭算起的每個 2k 個字元的前k個字元進行反轉。如果剩餘少於 k 個字元,則將剩餘的所有全部反轉。如果有小於 2k 但大於或等於 k 個字元,則反轉前 k 個字元,並將剩餘的字元保持原樣。 輸入: s = "abcdefg", k