从索引中获取仅包含可用字符的子字符串
Get substring with only available chars from index
Java 中是否有任何字符串函数可以让我提取像 QString::mid:
这样的子字符串
http://doc.qt.io/qt-5/qstring.html#mid
当索引超过字符串长度时,我希望函数 return 空字符串,当索引+子字符串长度更大时,我希望函数 return 仅可用字符。
我已经写了一段代码来实现它,但我不相信 Java 中还没有这样的功能:
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);
简短的回答是 Java 本身的字符串 class 上没有 mid 函数。
但是,Apache Commons StringUtils 库具有 mid 方法和其他字符串操作函数。熟悉所有 Apache 公共库是很有用的,因为它们被广泛使用、开源并且无需重新发明轮子。
Java 中是否有任何字符串函数可以让我提取像 QString::mid:
这样的子字符串http://doc.qt.io/qt-5/qstring.html#mid
当索引超过字符串长度时,我希望函数 return 空字符串,当索引+子字符串长度更大时,我希望函数 return 仅可用字符。
我已经写了一段代码来实现它,但我不相信 Java 中还没有这样的功能:
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);
简短的回答是 Java 本身的字符串 class 上没有 mid 函数。
但是,Apache Commons StringUtils 库具有 mid 方法和其他字符串操作函数。熟悉所有 Apache 公共库是很有用的,因为它们被广泛使用、开源并且无需重新发明轮子。