java 怎么判断是不是汉字,并获取到当前汉字的位置
时间: 2023-12-18 14:03:02 浏览: 17
在Java中,我们可以使用正则表达式来判断一个字符是否为汉字,同时使用String类的indexOf()方法获取当前汉字的位置。
下面是一个示例代码:
```java
public class ChineseCharacterDetector {
public static void main(String[] args) {
String str = "Hello,世界!";
Pattern pattern = Pattern.compile("[\u4e00-\u9fa5]"); // 匹配汉字的正则表达式
Matcher matcher = pattern.matcher(str);
while (matcher.find()) {
int position = matcher.start(); // 获取当前汉字的位置
System.out.println("第 " + (position + 1) + " 个字符是汉字。");
}
}
}
```
运行结果:
```
第 7 个字符是汉字。
第 8 个字符是汉字。
```
上面的示例代码中,我们使用了Unicode编码范围来匹配汉字,即`[\u4e00-\u9fa5]`,其中`\u4e00`是第一个汉字的Unicode编码,`\u9fa5`是最后一个汉字的Unicode编码。`Matcher`对象的`start()`方法可以获取当前匹配到的汉字在字符串中的位置,加上1就是当前汉字在整个字符串中的位置。
相关推荐
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)