/**
* 去除字符尾部多余5位的非汉字字符
*
* @param input 输入字符
* @return
*/
public static String mvEndNoChinese(String input) {
String REGEX = "[\\u4e00-\\u9fa5]";
Pattern p = Pattern.compile(REGEX);
Matcher m = p.matcher(input);
//end 标记最后一个截取的位置
int end = input.length();
while (m.find()) {
end = m.end();
}
if (input.length() - end >= 5) {
return input.substring(0, end);
}
return input;
}
/**
* 去除字符头部多余5位的非汉字字符
*
* @param input 输入字符
* @return
*/
public static String mvStartNoChinese(String input) {
String REGEX = "[\\u4e00-\\u9fa5]";
Pattern p = Pattern.compile(REGEX);
Matcher m = p.matcher(input);
if (m.find() && m.start() >= 5) {
return input.substring(m.start(), input.length());
}
return input;
}
public static void main(String[] args) {
String INPUT = "1232,222中1234红红,34512";
System.out.println(INPUT);
System.out.println(mvStartNoChinese(INPUT));
System.out.println(mvEndNoChinese(INPUT));
}
Java代码-去除字符串前后大于5个的非中文字符
最新推荐文章于 2023-02-07 17:29:51 发布