java字符串比较忽略大小写全半角
时间: 2023-07-03 20:25:48 浏览: 442
在Java中,可以使用`equalsIgnoreCase()`方法来比较两个字符串是否相等,忽略大小写。而要忽略全半角,则需要将两个字符串先转化为同一种形式(全角或半角),再进行比较。
下面是一个Java代码示例,演示如何忽略大小写和全半角进行字符串比较:
```java
public static boolean isEqualIgnoreWidthAndCase(String str1, String str2) {
if (str1 == null || str2 == null) {
return str1 == str2;
}
// 将全角字符转为半角字符
str1 = StringUtil.toHalfWidth(str1);
str2 = StringUtil.toHalfWidth(str2);
// 忽略大小写比较
return str1.equalsIgnoreCase(str2);
}
/**
* 将字符串中的全角字符转为半角字符
*/
public static String toHalfWidth(String str) {
if (str == null) {
return null;
}
char[] chars = str.toCharArray();
for (int i = 0; i < chars.length; i++) {
// 全角空格
if (chars[i] == 12288) {
chars[i] = (char) 32;
continue;
}
// 其他全角字符(除空格外),都和对应的半角字符相差65248
if (chars[i] > 65280 && chars[i] < 65375) {
chars[i] = (char) (chars[i] - 65248);
}
}
return new String(chars);
}
```
示例中,`isEqualIgnoreWidthAndCase()`方法接收两个字符串作为参数,返回一个布尔值,表示两个字符串是否相等(忽略大小写和全半角)。其中,`StringUtil.toHalfWidth()`方法用于将字符串中的全角字符转为半角字符。如果不需要忽略全半角,可以直接使用`equalsIgnoreCase()`方法进行比较。
阅读全文