只是测试子字符串,似乎无法使其工作。我想这会返回“E”?
由于某种原因,它会返回空白。
如果我将其更改为substring(0,1),它会按预期返回“T”......但1,1返回空白,而2,1抛出错误。
String newLetters="TEST";
Toast.makeText(getApplicationContext(), newLetters.substring(1,1), Toast.LENGTH_SHORT).show();
答案 0 :(得分:1)
答案 1 :(得分:1)
根据Javadocs
public String substring(int beginIndex,
int endIndex)
返回一个新字符串,该字符串是此字符串的子字符串。子字符串从指定的beginIndex(Inclusive)
开始,并扩展到索引endIndex - 1
处的字符。
因此子串的length
为endIndex-beginIndex.
因此,如果您想要E
中的TEST
,请使用
newLetters.substring(1,2)
答案 2 :(得分:0)
substring的参数是(起始索引,结束索引)。它将返回这两者之间的内容,不包括后者。 substring(1,2)将返回' E',我相信子串(2)。 (2,1)将给出错误,因为你的结束索引不能在你的开始索引之前。
您可能会发现这有用:http://www.tutorialspoint.com/java/java_string_substring.htm