Java 从索引中仅获取具有可用字符的子字符串
Java中是否有任何字符串函数允许我提取子字符串,如QString::mid: 当索引超过字符串长度时,我希望函数返回空字符串,当索引+子字符串的长度更大时,我希望函数只返回可用字符 我已经写了一段代码,但我不相信Java中已经没有这样的功能:Java 从索引中仅获取具有可用字符的子字符串,java,string,substring,Java,String,Substring,Java中是否有任何字符串函数允许我提取子字符串,如QString::mid: 当索引超过字符串长度时,我希望函数返回空字符串,当索引+子字符串的长度更大时,我希望函数只返回可用字符 我已经写了一段代码,但我不相信Java中已经没有这样的功能: private static String Mid(String s, int index, int length){ if(s.length()>=length+index){ return s.substring(in
private static String Mid(String s, int index, int length){
if(s.length()>=length+index){
return s.substring(index, length+index);
}
else if(s.length()>=index) {
return s.substring(index, s.length());
}
else{
return "";
}
}
Java中有类似的东西吗?听起来你只需要Math.min几次:
int start = Math.min(index, s.length());
int end = Math.min(index + length, s.length());
return s.substring(start, end);
听起来你只需要Math.min几次:
int start = Math.min(index, s.length());
int end = Math.min(index + length, s.length());
return s.substring(start, end);
简而言之,Java本身的String类上没有mid函数
但是,Apache Commons StringUtils库具有该方法和其他字符串操作函数。熟悉所有Apache commons库是很有用的,因为它们被广泛使用,并且是开源的,并且不必重新发明轮子。简而言之,Java本身的String类上没有mid函数
但是,Apache Commons StringUtils库具有该方法和其他字符串操作函数。熟悉所有Apache commons库是很有用的,因为它们被广泛使用,并且是开源的,并且不必重新发明轮子。虽然我喜欢这种方法,但它允许开始和结束超出字符串负边界。但由于OP也没有处理这个案例,它仍然比最初的方法更好。index=Math.maxindex,0;长度=Math.maxlength,0;我可以处理这个问题,但也许你会找到更干净的方法。虽然我喜欢这种方法,但它允许开始和结束超出字符串的负边界。但由于OP也没有处理这个案例,它仍然比最初的方法更好。index=Math.maxindex,0;长度=Math.maxlength,0;我可以处理,但也许你会想出更干净的办法。