如何使用正则表达式判断字符串中是否有中文,有的话输出。
功能:分类并输出字符串中的中文,大小写字母,空格以及符号。
问题:如何使用正则表达式判断并输出字符串中的中文?
PS:我知道下面这段代码有点丑
,能否给我一段实现同样功能的代码参考一下。
问题:如何使用正则表达式判断并输出字符串中的中文?
PS:我知道下面这段代码有点丑
,能否给我一段实现同样功能的代码参考一下。
package com.cjj.shiyiyueershisiri;
import java.util.Scanner;
/**
* 字符串分类
* @author prime_cjj
* function:输入一段字符串,判断是否有中文,有的话并输出,共有多少个大小写字母、数字空格号跟其他符号,并分别列出来
*/
public class StringClassified {
public static void main(String[] args) {
//存放字符串
String totalStr = null;
char[] totalStr1 = new char[400];
//存放小写字母
char[] abcStr = new char[100];
int abcCount = 0;
//存放大写字母
char[] ABCStr = new char[100];
int ABCCount = 0;
//存放数字
char[] num = new char[100];
int numCount = 0;
//存放符号
char[] seperateStr = new char[100];
int charCount = 0;
//空格符计数器
int konggeCount = 0;
System.out.println("请随意输入一段字符串~");
//读取键盘输入并存放到totalStr字符串中
totalStr = (new Scanner(System.in)).nextLine();
//将totalStr字符串转换为字符数组
totalStr1 = totalStr.toCharArray();
if(totalStr1.length != 0){
//判断是否存在中文
if(totalStr.matches(".*[\\u4e00-\\u9faf].*")){ //
System.out.println("存在中文");
}else{
System.out.println("不存在中文");
//判断并分组,并计数
for(int i = 0;i < totalStr1.length;i ++){
if(((totalStr1[i]+0) >= ('a'+0)) && ((totalStr1[i]+0) <= ('z'+0))){
abcStr[abcCount] = totalStr1[i];
abcCount++;
}else if(((totalStr1[i]+0) >= 65) && ((totalStr1[i]+0) <= 90)){
ABCStr[ABCCount] = totalStr1[i];
ABCCount++;
}else if(((totalStr1[i]+0) >= 48) && ((totalStr1[i]+0) <= 57)){
num[numCount] = totalStr1[i];
numCount++;
}else if(totalStr1[i] == ' '){
konggeCount++;
}else{ //如何识别所有符号? [\uFE30-\uFFA0]全角字符
seperateStr[charCount] = totalStr1[i];
charCount++;
}
}
}
//输出结果:
System.out.print("您输入的原始字符串为:"+totalStr+"\n");
System.out.println("其中分类如下:");
System.out.print("小写字母共有 "+abcCount+" 个,分别为:");
for(int i = 0;i < abcStr.length;i++){
System.out.print(abcStr[i]+" ");
}
System.out.println();
System.out.print("大写字母共有 "+ABCCount+" 个,分别为:");
for(int i = 0;i < ABCStr.length;i++){
System.out.print(ABCStr[i]+" ");
}
System.out.println();
System.out.print("数字共有 "+numCount+" 个,分别为:");
for(int i = 0;i < num.length;i++){
System.out.print(num[i]+" ");
}
System.out.println();
System.out.print("符号共有 "+charCount+" 个,分别为:");
for(int i = 0;i < seperateStr.length;i++){
System.out.print(seperateStr[i]+" ");
}
System.out.println();
System.out.print("空格号“ ”共有 "+konggeCount+" 个。");
}else
System.out.println("您没有输入任何字符!");
}
}
...全文
相关推荐
Java 正则表达式判断字符串是否包含中文
### Java正则表达式判断字符串是否包含中文在日常的软件开发过程中,我们经常会遇到需要对输入的字符串进行校验的情况。
C#正则表达式大全, 判断字符串是否为正整数,中文,英文.....
知识点 2:判断字符串是否为正整数在上面的代码中,我们可以看到一个名为 IsInt 的方法,该方法可以判断输入字符串是否为正整数。
Java正则表达式判断字符串中是否包含中文示例
"Java正则表达式用于判断字符串中是否包含中文字符的示例代码"在Java编程中,正则表达式是一种强大的文本处理工具,能够帮助开发者进行复杂的字符串匹配和搜索。本篇将介绍如何使用Java正则表达
Java判断字符串中是否包含中文方法
使用Matcher对象的find方法来判断字符串中是否存在中文字符。
正则表达式判断是否存在中文和全角字符和判断包含中文字符串长度
判断是否存在中文字符要检查一个字符串是否包含中文字符,可以使用以下正则表达式:```javascriptstr.match(/[^\x00-\xff]/ig);```这里使用了`[^\x00-\xff]


Java SE
