新浪微博字數統計,新浪博字數統計

來源:互聯網
上載者:User

新浪微博字數統計,新浪博字數統計

新浪微博字數統計,中文字元為一個長度,英文、數字、標點符號2個為一個長度。而NSString的length方法無論是中文英文數字還是標點符號通過都返回1。

在做數字統計的時候第一個想到的是用Regex去實現(IOS常用Regex)。查了一下,Regex的話只返回該字串中是否包含指定規則的文字,並不能統計字串中有多少個中文。

其實後來想想也是可以的,用Regex規則 for 一下字串的每一個字元,但不知道效率咋樣~。反正我用下面這中方法在- (void)textViewDidChange:(UITextView *)textView 這個代理方法中輪詢就會導致在UITextView中輸入的時候卡卡的,讓人覺得特別彆扭。該方法不可取!!!

-(NSInteger)countTextViewLength:(NSString*)textString{    int chineseCharacter = 0;    int numAndSymbol = 0;    for (int i = 0; i < [textString length]; i++) {        int tmp = [textString characterAtIndex:i];        if (tmp > 0x4e00 && tmp < 0x9fff) {            NSLog(@"第%i個是漢字:%@",i,[textString substringWithRange:NSMakeRange(i, 1)]);            chineseCharacter++;        }else{            numAndSymbol++;        }    }    currentLength = chineseCharacter + numAndSymbol/2;    return  currentLength;}

Google了一下,找到了Keefo分享的新浪微博字數統計代碼,就直接拿過來用了。代碼如下:

- (int)sinaCountWord:(NSString*)s{    int i,n=[s length],l=0,a=0,b=0;    unichar c;    for(i=0;i<n;i++){        c=[s characterAtIndex:i];        if(isblank(c)){            b++;        }else if(isascii(c)){            a++;        }else{            l++;        }    }    if(a==0 && l==0) return 0;    return l+(int)ceilf((float)(a+b)/2.0);}

附加學習資料:objc中國的字串#字串學習專題非常不錯,強烈推薦看一下。特別不錯,強烈推薦去看看!


新浪部落格上發表的文章字數怎統計?

你把你所發表文章用Word編輯噻!不就可以看見位元組和字數嗎?
 
新浪部落格有字數統計的功可以

你把你所發表文章用Word編輯一下不就可以看見字數嗎
 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.