当前位置:首页 » 编程语言 » java判断字符中文

java判断字符中文

发布时间: 2022-12-12 18:23:24

1. java怎么检验字符串是否全为纯中文

Java判断一个字符串是否有中文一般情况是利用Unicode编码(CJK统一汉字的编码区间:0x4e00–0x9fbb)的正则来做判断,但是其实这个区间来判断中文不是非常...

2. java判断字符串中是否含有中文

publicclasstest{

publicstaticvoidmain(String[]args){
System.out.println(isContainsChinese("122地点"));
}

//方法返回true为包含中文;false不包含
(Stringstr)
{
Patternpat=Pattern.compile("[u4e00-u9fa5]");
Matchermatcher=pat.matcher(str);
booleanflg=false;
if(matcher.find()){
flg=true;
}
returnflg;
}
}

3. java判断字符串中是否有中文

把要判断的字符串放入List里面,然后遍历list集合,如果还有指定的字符就输出,如下代码:

packagecom.qiu.lin.he;

importjava.util.ArrayList;
importjava.util.List;

publicclassCeshi{
publicstaticvoidmain(String[]args){
List<String>list=newArrayList<String>();//新建一个集合
list.add("puton");
list.add("inonputin");
list.add("oneputonininputoutoutput");

for(Strings:list){
if(s.indexOf("puton")!=-1){//如果含有连续的字符puton则输出yes
System.out.println(s+"----yes");
}else{
System.out.println(s+"----no");
}

}
}
}

运行结果如下:

4. Java 判断字符串中是否含有汉字

Java判断字符串中是否包含汉字

Java代码
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class IfHanZi {

public static void main(String[] args) {
//方法一:

String s1 = "我是中国人";
String s2 = "imchinese";
String s3 = "im中国人";
System.out.println(s1 + ":" + new String(s1).length());
System.out.println(s2 + ":" + new String(s2).length());
System.out.println(s3 + ":" + new String(s3).length());
System.out.println((s1.getBytes().length == s1.length()) ? "s1无汉字":"s1有汉字");
System.out.println((s2.getBytes().length == s2.length()) ? "s2无汉字":"s2有汉字");
System.out.println((s3.getBytes().length == s3.length()) ? "s3无汉字":"s3有汉字");

//方法二:

int count = 0;
String regEx = "[\\u4e00-\\u9fa5]";
String str = "中文fd我是中国人as ";
Pattern p = Pattern.compile(regEx);
Matcher m = p.matcher(str);
while (m.find()) {
for (int i = 0; i <= m.groupCount(); i++) {
count = count + 1;
}
}
System.out.println("共有 " + count + "个 ");
}
}

5. java判断字符是不是中文

下满给出示例代码,希望对你有帮助Java中判断字符串的编码有两种思路:一种是根据byte的长度判断,英文的字母数字好标点符号都是一个byte,且值在0-255之间另一种是根据中文的Unicode取值范围判断,这个就是把所以的范围都包含,才能判断正确,参考unicode中文范围:http://www.yuanxingyuan.com/?id=14示例代码:import java.util.regex.Matcher;import java.util.regex.Pattern;public class StringTest { //英文占1byte,非英文(可认为是中文)占2byte,根据这个特性来判断字符 public static boolean checkChar(char ch) { if ((ch + "").getBytes().length == 1) { return true;//英文 } else { return false;//中文 } } public static String checkString(String str) { String res = ""; if (str != null) { for (int i = 0; i < str.length(); i++) { //只要字符串中有中文则为中文 if (!checkChar(str.charAt(i))) { res = "中文"; break; } else { res = "英文"; } } } return res; } //判断是不是中文 public static boolean isChinese(char c) { Character.UnicodeBlock ub = Character.UnicodeBlock.of(c); if (ub == Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS || ub == Character.UnicodeBlock.CJK_COMPATIBILITY_IDEOGRAPHS || ub == Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS_EXTENSION_A || ub == Character.UnicodeBlock.GENERAL_PUNCTUATION || ub == Character.UnicodeBlock.CJK_SYMBOLS_AND_PUNCTUATION || ub == Character.UnicodeBlock.HALFWIDTH_AND_FULLWIDTH_FORMS) { return true; } return false; } //判断是不是英文字母 public static boolean isEnglish(String charaString) { return charaString.matches("^[a-zA-Z]*"); } //根据中文unicode范围判断u4e00 ~ u9fa5不全 public static String isChinese(String str) { String regEx1 = "[\\u4e00-\\u9fa5]+"; String regEx2 = "[\\uFF00-\\uFFEF]+"; String regEx3 = "[\\u2E80-\\u2EFF]+"; String regEx4 = "[\\u3000-\\u303F]+"; String regEx5 = "[\\u31C0-\\u31EF]+"; Pattern p1 = Pattern.compile(regEx1); Pattern p2 = Pattern.compile(regEx2); Pattern p3 = Pattern.compile(regEx3); Pattern p4 = Pattern.compile(regEx4); Pattern p5 = Pattern.compile(regEx5); Matcher m1 = p1.matcher(str); Matcher m2 = p2.matcher(str); Matcher m3 = p3.matcher(str); Matcher m4 = p4.matcher(str); Matcher m5 = p5.matcher(str); if (m1.find() || m2.find() || m3.find() || m4.find() || m5.find()) return "中文"; else return "英文"; } public static void main(String[] args) { System.out.println("使用长度判断:"); System.out.println(checkString("Hello++")); System.out.println(checkString("Hello++。、,?")); System.out.println(checkString("Hello++编程")); System.out.println(checkString("编程")); System.out.println("\r\n使用正则表达式判断:"); System.out.println(isChinese("Hello++")); System.out.println(isChinese("Hello++。、,?")); System.out.println(isChinese("Hello++编程")); System.out.println(isChinese("编程")); System.out.println("\r\n使用Character.UnicodeBlock"); System.out.println(isChinese('h')?"中文":"英文"); System.out.println(isChinese(',')?"中文":"英文"); System.out.println(isChinese('。')?"中文":"英文"); System.out.println(isChinese('编')?"中文":"英文"); }}运行结果:使用长度判断:英文中文中文中文使用正则表达式判断:英文中文中文中文使用Character.UnicodeBlock英文英文中文中文

6. java怎么判断输入的是不是中文

你好,最简单而且最保险的一种方法是:
这里举个最复杂的例子:就是输入了中文和英文的
String str = "....." ; //str是你输入的东西
如果str.length() < str.getBytes().length 那么输入的肯定有中文
看测试代码:
public class Chinese {
public static void main(String[] args) {
String str1 = "aaa" ;
String str2 = "中国" ;
String str3 = "中a" ;
isChinese(str1) ;
isChinese(str2) ;
isChinese(str3) ;
}
public static void isChinese(String str){
if(str.length() < str.getBytes().length){
System.out.println("有中文");
}else{
System.out.println("英文");
}
}
}

7. java 判断字符是否为汉字

java判断是否为汉字 Java代码如下:
public boolean vd(String str){

char[] chars=str.toCharArray();
boolean isGB2312=false;
for(int i=0;i<chars.length;i++){
byte[] bytes=(""+chars[i]).getBytes();
if(bytes.length==2){
int[] ints=new int[2];
ints[0]=bytes[0]& 0xff;
ints[1]=bytes[1]& 0xff;
if(ints[0]>=0x81 && ints[0]<=0xFE && ints[1]>=0x40 && ints[1]<=0xFE){
isGB2312=true;
break;
}
}
}
return isGB2312;
}

public boolean vd(String str){

char[] chars=str.toCharArray();
boolean isGB2312=false;
for(int i=0;i<chars.length;i++){
byte[] bytes=(""+chars[i]).getBytes();
if(bytes.length==2){
int[] ints=new int[2];
ints[0]=bytes[0]& 0xff;
ints[1]=bytes[1]& 0xff;
if(ints[0]>=0x81 && ints[0]<=0xFE && ints[1]>=0x40 && ints[1]<=0xFE){
isGB2312=true;
break;
}
}
}
return isGB2312;
}

首先要import java.util.regex.Pattern 和 java.util.regex.Matcher
这两个包,接下来是代码

Java代码
public boolean isNumeric(String str)
{
Pattern pattern = Pattern.compile(”[0-9]*”);
Matcher isNum = pattern.matcher(str);
if( !isNum.matches() ) {
return false;
}
return true;
}

java.lang.Character.isDigit(ch[0])

public boolean isNumeric(String str)
{
Pattern pattern = Pattern.compile(”[0-9]*”);
Matcher isNum = pattern.matcher(str);
if( !isNum.matches() ) {
return false;
}
return true;
}

java.lang.Character.isDigit(ch[0])

-----------------另一种-----------------
Java代码
public static void main(String[] args) {
int count = 0;
String regEx = "[\\u4e00-\\u9fa5]";
//System.out.println(regEx);
String str = "中文fdas ";
//System.out.println(str);
Pattern p = Pattern.compile(regEx);
Matcher m = p.matcher(str);
while (m.find()) {
for (int i = 0; i <= m.groupCount(); i++) {
count = count + 1;
}
}
System.out.println("共有 " + count + "个 ");
}

public static void main(String[] args) {
int count = 0;
String regEx = "[\\u4e00-\\u9fa5]";
//System.out.println(regEx);
String str = "中文fdas ";
//System.out.println(str);
Pattern p = Pattern.compile(regEx);
Matcher m = p.matcher(str);
while (m.find()) {
for (int i = 0; i <= m.groupCount(); i++) {
count = count + 1;
}
}
System.out.println("共有 " + count + "个 ");
} -------------------------------------------------------------------

8. java 判断字符串是否含有中文

Java代码
package com.zakisoft.ch;

public class IsChineseOrNot {

// GENERAL_PUNCTUATION 判断中文的“号
// CJK_SYMBOLS_AND_PUNCTUATION 判断中文的。号
// HALFWIDTH_AND_FULLWIDTH_FORMS 判断中文的,号
private static final boolean isChinese(char c) {
Character.UnicodeBlock ub = Character.UnicodeBlock.of(c);
if (ub == Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS
|| ub == Character.UnicodeBlock.CJK_COMPATIBILITY_IDEOGRAPHS
|| ub == Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS_EXTENSION_A
|| ub == Character.UnicodeBlock.GENERAL_PUNCTUATION
|| ub == Character.UnicodeBlock.CJK_SYMBOLS_AND_PUNCTUATION
|| ub == Character.UnicodeBlock.HALFWIDTH_AND_FULLWIDTH_FORMS) {
return true;
}
return false;
}

public static final boolean isChinese(String strName) {
char[] ch = strName.toCharArray();
for (int i = 0; i < ch.length; i++) {
char c = ch[i];
if (isChinese(c)) {
return true;
}
}
return false;
}

public static void main(String[] args) {
System.out.println(isChinese("き"));
System.out.println(isChinese("test,.?!%^&*(){}[]"));
System.out.println(isChinese("测试"));
System.out.println(isChinese("“测试”,。?!%……&*()——{}【】”"));
}

public static final boolean isChineseCharacter(String chineseStr) {
char[] charArray = chineseStr.toCharArray();
for (int i = 0; i < charArray.length; i++) {
if ((charArray[i] >= 0x4e00) && (charArray[i] <= 0x9fbb)) {
return true;
}
}
return false;
}

/**
* @deprecated; 弃用。和方法isChineseCharacter比效率太低。
* */
public static final boolean isChineseCharacter_f2() {
String str = "!?";
for (int i = 0; i < str.length(); i++) {
if (str.substring(i, i + 1).matches("[\\一-\\?]+")) {
return true;
}
}
return false;
}
}

System.out.println(isChinese("き"));
System.out.println(isChinese("test,.?!%^&*(){}[]"));
System.out.println(isChinese("测试"));
System.out.println(isChinese("“测试”,。?!%……&*()——{}【】”"));
运行结果为:
false
false
true
true

热点内容
如何调节安卓手机的内存 发布:2025-01-22 18:49:30 浏览:638
佳能相机存储卡怎么取消 发布:2025-01-22 18:40:59 浏览:568
天猫宝贝上传 发布:2025-01-22 18:35:09 浏览:544
ipad如何登录金铲铲安卓账号 发布:2025-01-22 18:32:09 浏览:319
加密沟通 发布:2025-01-22 18:31:22 浏览:555
win7ftp用户名和密码设置 发布:2025-01-22 17:46:48 浏览:221
三表联查的sql语句 发布:2025-01-22 17:27:13 浏览:418
安卓怎么解压分卷压缩 发布:2025-01-22 17:24:59 浏览:721
欧姆龙plc编程语言 发布:2025-01-22 17:21:48 浏览:396
和值编程 发布:2025-01-22 17:20:07 浏览:518