我有3个字符串:
String text1 = "abcdefgh";
String text2 = "abcdefghijklmn";
String text3 = "abcdefg";
我想做这样的事情:
text1.substring(int1, int2);
text2.substring(int1, int2);
text3.substring(int1, int2);
将返回abc(前3个字符) 问题是字符串长度总是在变化,所以无论如何我都不能使用text1.length。
答案 0 :(得分:5)
如果长度发生变化,请先进行检查
if (textStr != null && textStr.length() >= 3) {
newStr = textStr.substring(0, 3);
}
答案 1 :(得分:1)
找到答案:
.substring(0, 3)
答案 2 :(得分:0)
因为字符串长度可以变化(或者甚至可能是空的),所以最好不要写一些更通用的东西。在您的示例中,您的测试字符串总是超过3个字符,但情况总是如此?您也可以编写此函数以自动将字符串填充到所需的长度。
public static String variableLengthSubstring(String text, int length) {
StringBuilder substring = new StringBuilder();
if(text != null) {
int i = 0;
length = Math.min(length, text.length());
while(substring.length() < length) {
substring.append(text.charAt(i++));
}
}
return substring.toString();
}