java 取字符

来源:百度知道 编辑:UC知道 时间:2024/05/31 04:52:49
请问一个问题,对String类型的content取字符。要求是:
1.如果从content开始到第一个标点的字数超过8个字,
则取从content开始到第一个标点间的文字
2.如果从content开始到第一个标点的字数少于8个字,
则取从content开始到第二个标点间的文字
急,希望大家帮忙!
应该不用很长的代码,麻烦大家帮忙写一个吧,就别参考什么了

public class Bd7Test {

public static void ym (String str) {
if (str == null) return;
int punctIdx = 0;
for (int i = 0; i < str.length(); i++) {
if (isPunct(str.charAt(i))) {
punctIdx = i;
break;
}
}
if (punctIdx > 8) {
// 找到了第一个标点,并且前面有8个以上的字符
System.out.println(str.substring(0, punctIdx));
}
else {
// 第一个标点前面少于8个字符,找第二个标点
for (int i = punctIdx+1; i < str.length(); i++) {
if (isPunct(str.charAt(i))) {
punctIdx = i;
break;
}
}
System.out.println(str.substring(0, punctIdx));
}

}

public static boolean isPunct (char c) {
String punctStr = "!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~";
if (punctStr.indexOf(c) != -1) {
return true;
}
else {
return false;
}

}

public s