㈠ java怎麼判斷字元串的字元串的長度
1首先打開eclipse
2新建一個java項目,名字隨意起
3名字起好後,點擊完成
4右鍵點擊項目名稱,新建,類
㈡ 這一個java正則表達式,進行漢字驗證。
importjava.util.Scanner;
importjava.util.regex.Pattern;
publicclassTest{
publicstaticvoidmain(String[]args){
Scannercan=newScanner(System.in);
Stringss=can.nextLine();
StringregEx="[u4e00-u9fa5]";
Patternp=Pattern.compile(regEx);
intnum=0;//漢字長度
for(inti=0;i<ss.length();i++){
if(p.matches(regEx,ss.substring(i,i+1))){
num++;
}
}
if(num<2){
System.out.println("輸入的中文不足兩個");
}else{
System.out.println("滿足");
}
}
}
....這回題終於看明白.........
㈢ 如何計算中文字元的長度java
通過自String自帶的length()方法獲取字元串長度。
String a="abcdefg";//定義一個字元串
int len = a.length();//通過length獲取字元串長度,這里等於7
length()該方法返回此字元串的長度。長度是等於Unicode代碼單元中的字元串的數目。
㈣ JAVA判斷字元串的長度
簡單實現代碼如下:
public class StringLength {
/**
* 獲取字元串的長度,如果有中文,則每個中文字元計為2位
* @param value 指定的字元串
* @return 字元串的長度
*/
public static int length(String value) {
int valueLength = 0;
String chinese = "[\u0391-\uFFE5]";
/* 獲取欄位值的長度,如果含中文字元,則每個中文字元長度為2,否則為1 */
for (int i = 0; i < value.length(); i++) {
/* 獲取一個字元 */
String temp = value.substring(i, i + 1);
/* 判斷是否為中文字元 */
if (temp.matches(chinese)) {
/* 中文字元長度為2 */
valueLength += 2;
} else {
/* 其他字元長度為1 */
valueLength += 1;
}
}
return valueLength;
}
public static void main(String args[]){
String str = "hello你好";
System.out.println(StringLength.length(str));
}
}
㈤ java中如何計算一個字元串的byte長度(一個漢字多少字元)
中文並不一定是占兩個位元組的,具體佔多少位元組是跟具體的回編碼方式相關的。 比如說:GB2312、答GBK、GB18030 編碼是佔用兩個位元組的,但是 UTF-8 編碼的話至少需要佔用三個位元組。 有一個簡單方法,就是把大於 0xff 的字元都作為兩個字元(當然是在 GBK 環境下) Java code publicstaticint count(String str) { if(str ==null|| str.length ==0) { return0; } int count =0; char[] chs = str.toCharArray(); for(int i =0; i < chs.length; i++) { count += (chs[i] >0xff) ?2 : 1; } return count; } 或者你直接使用 int len = str.getBytes("gbk");上面代碼假設你的資料庫編碼格式是 GBK 的,而不是 UTF-8 的,如果是 UTF-8 的話,上面的代碼無效!1位元組等於8比特,一個字母是1位元組,而一個漢字要用2個位元組。一個漢字=2個字元
㈥ java 怎樣判斷字元串的長度
/**
*得到一個字元串的長度,顯示的長度,一個漢字或日韓文長度為1,英文字元長度為0.5
*@paramStrings需要得到長度的字元串
*@returnint得到的字元串長度
*/
publicstaticdoublegetLength(Strings){
doublevalueLength=0;
Stringchinese="[u4e00-u9fa5]";
//獲取欄位值的長度,如果含中文字元,則每個中文字元長度為2,否則為1
for(inti=0;i<s.length();i++){
//獲取一個字元
Stringtemp=s.substring(i,i+1);
//判斷是否為中文字元
if(temp.matches(chinese)){
//中文字元長度為1
valueLength+=1;
}else{
//其他字元長度為0.5
valueLength+=0.5;
}
}
//進位取整
returnMath.ceil(valueLength);
}
㈦ java中獲取含中文的字元串長度
逐個char取,判斷ascii值范圍,ASCII算一個、如果是非ASCII范圍認為是中文則算2個
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
㈧ java里關於判斷字元串長度的問題
你的if(stuName.length() == 0);{ System.out.println(stuName.length());//輸出2 stuName = "缺"; System.out.println(stuName.length());//輸出3}
其中if(stuName.length() == 0);此處多了一個分號!!專!!看屬到沒?
㈨ java在不知道字元串的字元集的情況下如何判斷它的位元組長度
可以通過程序判斷,將字元分為漢字和非漢字處理。一個漢字占兩個位元組一個非漢字佔一個位元組處理,漢字可以通過他的ascii碼區間來區分 str.getBytes("ascii");試試