❶ 判断java String中是否有汉字的方法
如果str.getBytes().length==str.length() 就没有汉字,否则备孙毁就有,因为一个汉字两个字节,不是汉字就一个字节,而String的length()方法返回的是字数,跟非汉字字节数相等,不过汉字仿备的符号也凯芦算汉字,比如"?"就是汉字 但是"?"就不是汉字
❷ Java判断是不是汉字,中文,英文字母和数字
JAVA的正则表达式,这个很简单,只要你将匹配的方法和几个常用的元字符以及表示字符数的格式记住就可以了,这些你可以网络一下,我这里只是简单的说一下
JAVA的正则表达式使用String里的boolean matches(String regex)方法来确认传入的值的格式的,
publicstaticvoidmain(String[]args)
{
Strings1="java";
Strings2="Java";
booleanflag=s2.matches(s1);
System.out.println(flag);//如果匹配则输出true,否则为false
}
接下来我介绍一些简单的元字符
\d表示0-9中间的任意一个数字
\D 表示任意一个非数字字符
\w表示字母、数字或下划线
\W表示非字母、数字和下划线
\s表示空白符
\S表示非空白符
[]字符集具体范围的规定,使用[]
例如
s1="b\d{3,5}";//表示b后跟3个以上,5个以下的任意数字
s2="b588";
flag=str.matches(s1);
System.out.println(flag);
那么判断是不是汉字
s1="[u4e00-u9fa5]";//中文字符范围
s2="吴老二";
flag=s2.matches(s1);
System.out.println(flag);
英文字母
s1="^[a-zA-Z]$";//^表示开头$表示结尾[a-zA-Z]表示英文字母
s2="abc";
数字
除了可以用我前面说的\d之外还可以用[0-9],你自己测试一下吧
❸ 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");
}
}
}
}
运行结果如下:
❹ java判断是否为汉字 和 是否有汉字
1、打开eclipse或任意可以编译并运行的IDE程序,准备我们的练习:我创建好工程名和包名,并命名这个功能类为:StringTrunc。
❺ 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 + "个 ");
}
}
❻ 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 + "个 ");
}
❼ 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");
}
} 这个就可以判断,输入任意个字符,必须所有的都是中文,才算是
❽ Java判断字符串中是否有中文
publicstaticbooleanisChinese(charc){
returnc>=0x4E00&&c<=0x9FA5;//根据字节码判断
}
//判断一个字符串是否含有中文
publicstaticbooleanisChinese(Stringstr){
if(str==null)returnfalse;
for(charc:str.toCharArray()){
if(isChinese(c))returntrue;//有一个中文字符就返回
}
returnfalse;
}
用字符串编码来判断,
❾ 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