Java 計算含有漢字字串長度
package com.youku.paycenter.admin.subGate.service.impl;
import java.io.UnsupportedEncodingException;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class TestString
{
public static final String CHINESE_REG_EXP = "[\u4e00-\u9fa5]"; public static void main(String[] args) throws UnsupportedEncodingException { String s = "故人西辭黃鶴樓,煙花三月下揚州;孤帆遠影碧空盡,唯見長江天際流。故人西辭黃鶴樓,煙花三月下揚州;孤帆遠影碧空盡,唯見長江天際流。故人西辭黃鶴樓,煙花三月下揚州;孤帆遠影碧空盡,唯見長江天際流。故人西辭黃鶴樓,煙花三月下揚州;孤帆遠影碧空盡,唯見長江天際流。故人西辭黃鶴樓,煙花三月下揚州;孤帆遠影碧空盡,唯見長江天際流。故人西辭黃鶴樓,煙花三月下揚州;孤帆遠影碧空盡,唯見長江天際流。故人西辭黃鶴樓,abc"; if(isChineseChar(s)) { char[] c_array = s.toCharArray(); String c_string = null; byte[] c_byte_array; int chineseCount = 0; int normalCount = 0; for (char c : c_array) { c_string = Character.toString(c); c_byte_array = c_string.getBytes("UTF-8"); if(c_byte_array.length>1) { chineseCount++; } else { normalCount++; } } System.out.println(chineseCount+normalCount); } } public static boolean isChineseChar(String str) { if (str == null) return false; boolean temp = false; Pattern p = Pattern.compile(CHINESE_REG_EXP); Matcher m = p.matcher(str); if (m.find()) { temp = true; } return temp; }
}
相關推薦
Java 計算含有漢字字串長度
package com.youku.paycenter.admin.subGate.service.impl; import java.io.UnsupportedEncodingException; import java.util.regex.Match
c/c++整理--程式設計計算含有漢字的字串長度
編寫gbk_strlen函式,計算含有漢字的字串長度,漢字作為一個字元處理;已知:漢字編碼為雙位元組,其中首位元組<0,尾位元組在0~63以外(如果一個位元組是-128~127)。 #inclu
java 計算包含中文字串的真實長度
public static int getRealLength(String str) { int m = 0; char arr[] = str.toCharArray(); for (int i = 0; i < arr.length; i++) { char c = arr[i
計算中英文混合字串長度,中文算兩個字元
獲取中英文字串長度是一個比較常用的功能,比如限制一個使用者暱稱、文章標題等的長度,一般從技術的角度考慮,不同的編碼中文所佔的位元組數不同,但從使用者的角度考慮他們根本不知道什麼是字符集,通常的習慣是一箇中文按兩個英文算。之前在網上看到的一個演算法是:$strlen = (s
ASP如何計算中英文混合字串長度和擷取字串 .
計算中英文混合字串的長度: function getStringLen(str) on error resume next dim l,c,i,tl=len(str)t=lfor i=1 to lc=asc(mid(str,i,1))if c>=128
Java 帶轉義字元字串長度
public class Test { public static void main(String[] args) { String str1 = "\n\r\\"; System.out
iOS計算中英文混合字串長度的方法
-(NSUInteger) unicodeLengthOfString: (NSString *) text {NSUInteger asciiLength = 0;for (NSUInteger i = 0; i < text.length; i++)
python中求漢字字串長度以及預設編碼與解碼格式設定
print(len('你好啊')) 結果為 3 一般漢字在uicode編碼格式中,一個漢字對應長度為1 在utf-8編碼格式中,一個漢字對應長度為3 我在剛開始寫的時候,在python3環境下,列表value裡,用的是:len(value[i].decode('u
利用正則表示式計算含有中文的字串長度
using System;using System.Text.RegularExpressions; namespace LangZi{ /**//// <summary> /// StringHelper 的摘要說明。 /// </su
字元與字串中的'\0', '0', 0;strlen()函式求字串長度計算方法(sizeof()驗證)
如下字元陣列or字串,用strlen函式求長度各是多少? char * p = “abc” 與 char a[] = "abc"兩種形式並不同; char * str1 = "abc"; char * str2 = "ab\
計算字串長度
1.strlen strlen所作的僅僅是一個計數器的工作,它從記憶體的某個位置(可以是字串開頭,中間某個位置,甚至是某個不確定的記憶體區域)開始掃描,直到碰到第一個字串結束符’\0’為止,然後返回計數器值(長度不包含’\0’) $title = 'üöä';
java 得到無重複的最長字串長度
給定一個字串str,返回str的最長無重複字串的長度。 例如: str="abc",則返回3. str="aabcd",則返回4. 具體程式碼實現如下: package Test; import java.util.HashMap; impor
Shell指令碼中計算字串長度的幾種方法
1:wc -L wc -l (小寫)是獲取當前字串內容的行數,wc -L (大寫)可以獲取到當前行的長度,因此對於單獨行的字串可以用這個簡單的方法獲取。 $ str="123.?+ abc" $ echo "$str" |wc -L 10 2: expr lengt
計算字串長度、字串賦值
以下全部討論char,wchar_t的請自行查閱msdn.以下函式的更詳細資訊也請查閱msdn 一:計算字串長度 1.sizeof: sizeof unary-expression sizeof (type-name) 示例程式碼: int a[]={0,1,
計算最長的字串長度
輸入n (n<10)個字串,輸出其中最長字串的有效長度。要求自定義函式 Int max_len ( char *s[],int n),用於計算有n個元素的指標陣列s中最長的字串的長度。 法一:思路:設定一個指標陣列與一個二維陣列,使指標陣列指向二維陣列#include<stdio.h>#i
字元與字串中的'\0', '0', 0;strlen()函式求字串長度計算方法(sizeof()驗證)
如下字元陣列or字串,用strlen函式求長度各是多少? char * p = “abc” 與 char a[] = "abc"兩種形式並不同; char * str1 = "abc"; char *
(函式)計算最長的字串長度
6-2 計算最長的字串長度 (10 分) 本題要求實現一個函式,用於計算有n個元素的指標陣列s中最長的字串的長度。 函式介面定義: int max_len( char *s[], int n ); 其中n個字串儲存在s[]中,函式max_len應返回其中最長字串的長度。 裁判測試程式
java URL中含有漢字轉碼格式
傳入url即可實現 public static String toUtf8String(String s) { StringBuffer sb = new StringBuffer();
[Linux]如何在Shell指令碼中計算字串長度?
有時在Linux作業系統中需要計算某個字串的長度,通過查詢資料整理了下目前Shell中獲取字串的長度的多種方法,在這裡分享給大家,方法如下: 方法1: 使用wc -L命令 wc -L可以獲取到當前行的長度,因此對於單獨行的字串可以用這個簡單的方法獲取,另外wc -l則是獲取當前字串內容的行數。 [c
Python2中print字串含有漢字無法正常顯示
demo1 Ubuntu16,Python2,且安裝過中文語言什麼的。 #!usr/bin/python # -*- coding: utf-8 -*- a = "我就是中文啊" print("a:",a)1234 輸出就是: