JAVA的一个面试题,谁帮我解决下谢谢!

来源:百度知道 编辑:UC知道 时间:2024/09/18 05:23:47
2 编程:编写一个截取字符串的函数,输入一个字符串和长度,输出为按长度截取的字符串,汉字除外,也就是在截取的时候不包含汉字部分,如"恒ABCD"3,应该截为"ABC"

使用ASCII码判断,如果只要字母,字母的范围是大写A-Z(65-90)小写的是(97-122)

public class Test {
public static void main(String[] args) {
String string ="恒ABCD";
for(int i=0;i<string.length();i++)
{
if(string.charAt(i)<255) //ASCII最大值是255
System.out.println(string.charAt(i));
}
}
}

public static void main(String[] args) {
System.out.println(checkString("打算撒 sdsad似的安定sad a", 5));
}

public static String checkString(String str, int length) {
if (str != null && !str.trim().equals("")) {
String regEx = "[\\u4e00-\\u9fa5]";
str = str.replaceAll(regEx, "");
if (length > 0 && str.length() >= length) {
return str.substring(0, length);
} else {
return str;
}
} else {
return str;
}
}

分给偶

先判断字符串内是否有汉字(搜索下,网上很多),有几个,截一下