Java判断字符串含中文
时间: 2023-08-01 11:09:30 浏览: 79
可以使用 Java 自带的正则表达式进行判断,代码如下:
```java
public static boolean containsChinese(String str) {
String regex = "[\\u4e00-\\u9fa5]";
Pattern pattern = Pattern.compile(regex);
Matcher matcher = pattern.matcher(str);
return matcher.find();
}
```
该方法通过正则表达式匹配字符串中是否含有汉字,如果含有汉字则返回 true,否则返回 false。其中,`[\\u4e00-\\u9fa5]` 是一个 Unicode 区间,表示所有汉字的 Unicode 编码。
相关问题
java 判断字符串含文件后缀
您好,您可以使用 Java 中的 String 类的 endsWith() 方法来判断字符串是否含有文件后缀。具体代码如下:
```java
String fileName = "example.txt";
if (fileName.endsWith(".txt")) {
System.out.println("文件名包含 txt 后缀");
} else {
System.out.println("文件名不包含 txt 后缀");
}
```
上述代码中,我们将文件名赋值给 fileName 变量,然后使用 endsWith() 方法判断该字符串是否以 ".txt" 结尾,如果是,则输出 "文件名包含 txt 后缀",否则输出 "文件名不包含 txt 后缀"。
需要注意的是,endsWith() 方法区分大小写,如果文件后缀是大写字母 ".TXT",则需要将判断条件改为:
```java
if (fileName.endsWith(".TXT")) {
// ...
}
```
希望能帮助到您。
java 字符串长度
在Java中,要获取字符串的长度,可以使用String类的length()方法。该方法的语法格式为:字符串名.length()。返回的值是int类型的长度值。
举例:
```java
String str1 = "我是一个字符串";
System.out.println("我是一个字符串".length());//7
System.out.println(str1.length());//7
String str2 = "我是另一个字符串";
int str2Length1 = str2.length();
int str2Length2 = "我是另一个字符串".length();
System.out.println(str2Length1);//8
System.out.println(str2Length2);//8
```
然而,需要注意的是,如果字符串中包含汉字,直接使用String.length()方法无法计算出准确的长度。如果想要正确计算含有汉字的字符串长度,可以考虑使用其他方式。
一种方法是自定义计算字符长度的方法,示例如下:
```java
/**
* 计算字符长度
*
* @param value
* @return
*/
public int length(String value) {
int valueLength = 0;
String chinese = "[\u0391-\uFFE5]"; // 获取字段值的长度,如果含中文字符,则每个中文字符长度为2,否则为1
for (int i = 0; i < value.length(); i++) {
// 获取一个字符
String temp = value.substring(i, i+1);
// 判断是否为中文字符
if (temp.matches(chinese)) {
// 中文字符长度为2
valueLength += 2;
} else {
// 其他字符长度为1
valueLength += 1;
}
}
return valueLength;
}
```