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">