return nameString.substring(nameString.indexOf(" ", 0), nameString.lastIndexOf(" ", 0));


为什么总是返回错误?我只想将字符串从第一个出现的空格字符返回到字符串中的最后一个出现的空格?

最佳答案

lastIndexOf

public int lastIndexOf(String str,
                       int fromIndex)

  
  返回最后一次出现的指定子字符串在此字符串内的索引,从指定的索引开始向后搜索...如果不存在这样的值,则返回-1。


删除indexOf和lastIndexOf的, 0参数。当您将fromIndex的0传递给lastIndexOf时,它将从字符串的开头向后搜索以找到匹配项。如果找不到,它将返回-1,这是substring的无效参数。

return nameString.substring(nameString.indexOf(" "), nameString.lastIndexOf(" "));

关于java - 为什么我总是让String超出范围?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7734817/

10-13 01:18