A. java如何判斷中文簡體繁體
[\u4e00-\u9fa5]
這個可以判斷是不是漢字,我測試時,不能區分簡繁。內
找到下邊這些容JS的正則。(測試也區分不了簡繁。)
[\u2E80-\u9FFF]+$ 匹配所有東亞區的語言
[\u4E00-\u9FFF]+$ 匹配簡體和繁體
[\u4E00-\u9FA5]+$ 匹配簡體
希望能你有點幫助,我再找找怎麼區分簡繁。
B. java 字元串中判斷字母大小寫方法
方法一:
根據 Character 類提供的大小寫判斷方法
```java
Character.isUpperCase(c); // 是否是大寫
Character.isUpperCase(c); // 是否是小寫
```
方法二:
通過 ASCII 碼判斷字母大小寫,ASCII在 65-90 之間是大寫,97-122 是小寫
```java
/*
* 是否是大寫
*/
public boolean isUpperCase(char c) {
return c >=65 && c <= 90;
}
/*
* 是否是小寫
*/
public boolean isLowerCase(char c) {
return c >=97 && c <= 122;
}
```
(2)java如何判斷繁體字擴展閱讀:
大小寫互相轉換
方法一
根據 Character 類提供的大小寫轉換方法
```java
/*
* 小寫轉大寫
*/
public char toUpper(char c) {
return Character.isLowerCase(c) ? c : Character.toUpperCase(c);
}
/*
* 大寫轉小寫
*/
public char toLower(char c) {
return Character.isUpperCase(c) ? c : Character.toLowerCase(c);
}
```
方法二
通過 ASCII 加 32 轉換為小寫,減 32 轉換為大寫
```java
/*
* 是否是大寫
*/
public boolean isUpperCase(char c) {
return c >=65 && c <= 90;
}
/*
* 是否是小寫
*/
public boolean isLowerCase(char c) {
return c >=97 && c <= 122;
}
```
字元串大寫轉小寫,小寫轉大寫
public class WordUpperLow {
public static void main(String[] args) {
new WordUpperLow().upToLowToUp("HeLLoWoRlD");
}
public void upToLowToUp(String str) {
/*
* 方法一 根據 char 的工具類 Character
*/
char[] chars = str.toCharArray();
for (int i = 0, length = chars.length; i < length; i++) {
char c = chars[i];
//判斷字母是不是大寫,如果是大寫變為小寫
if (Character.isUpperCase(c)){
chars[i] = Character.toLowerCase(c);
continue;
}
//如果為小寫,變為大寫
chars[i] = Character.toUpperCase(c);
}
String str1 = new String(chars);
System.err.println(str1);
/*
* 方法二
* 通過ASCII碼判斷字母大小寫 ASCII在65-90之間是大寫,97-122是小
* 大轉小加32 小轉大減去32
*/
byte[] bytes = str.getBytes();
for (int i = 0, length = bytes.length; i < length; i++) {
//如果ASCII在65-90之間為大寫,加上32變為小寫
if (bytes[i] >= 65 && bytes[i] <= 90){
bytes[i] += 32;
//如果ASCII在97-122之間為小寫,減去32變為大寫
} else if (bytes[i] >= 97 && bytes[i] <= 122){
bytes[i] -= 32;
}
}
String str2 = new String(bytes);
System.err.println(str2);
}
/*
* 小寫轉大寫
*/
public char toUpper(char c) {
return c >=65 && c <= 90 ? c : (char)(c - 32);
}
/*
* 大寫轉小寫
*/
public char toLower(char c) {
return c >=97 && c <= 122 ? c : (char)(c + 32);
}
/*
* 是否是大寫
*/
public boolean isUpperCase(char c) {
// Character.isUpperCase(c);
return c >=65 && c <= 90;
}
/*
* 是否是小寫
*/
public boolean isLowerCase(char c) {
// Character.isLowerCase(c);
return c >=97 && c <= 122;
}
}
C. java 判斷字元是否為漢字
public static void main(String[] args) {
Pattern p_str = Pattern.compile("[\\u4e00-\\u9fa5]+");
String str="我是漢字";
Matcher m = p_str.matcher(str);
if(m.find()&&m.group(0).equals(str)){
System.out.println("Ok");
}
} 這個就可以判斷,輸入任意個字元,必須所有的都是中文,才算是
D. java 裡面注釋出來了繁體字
java的注釋出來了繁體字,是Eclipse/MyEclipse編碼與java文件不匹配出現亂碼(繁體字)導致的。可專以按如下兩種方式屬修改:
修改java文件的編碼方式,可以按以下步驟:
選中文件右鍵-->Properties-->Resource-->Text file encoding-->選中Other,然後選擇想要的編碼格式就可以了。
修改MyEclipse的編碼方式,可以按以下步驟:
菜單欄的Window-->Perferences-->General-->Work Space-->Text file encoding-->選中Other,然後選擇想要的編碼格式就可以了。
E. java如何判斷一個字元是不是中文
Unicode:漢字來的Unicode編碼范圍為自
\u4E00-\u9FA5
\uF900-\uFA2D
如果不在這個范圍內就不是漢字了. 所以只要得到一個char判斷其是否在以上范圍內就可以了。
U+4e00 ~ U+9FB0 原來 GB2312 和 GBK 中的漢字
U+3400 ~ U+4DB6 包括 GB18030.2000 中那些增加的漢字
F. JAVA爬蟲程序(Eclipse) 出現這種繁體字 GBK UTF-8都試過了 都不能解決 求高手指導
這個是編碼不正確,既然是爬蟲,那麼從原理上來說,你肯定是從網上以流的形式將html下載過來。然後在流轉換為String的時候有一個charset參數,那麼你傳入GBK或者UTF-8隻是你一廂情願的認為網站是這個格式的。
解決方法很簡單,讀取到這個網站的編碼格式,通常有兩種方法,一種是在http的response下有對應的charset,你可以取得。還有一種則是取得網站上<...charset="UTF-8">