Java查找子字符串

lit*_*leK 3 java string substring

我有以下字符串:

oauth_token=safcanhpyuqu96vfhn4w6p9x&**oauth_token_secret=hVhzHVVMHySB**&application_name=Application_Name&login_url=https%3A%2F%2Fapi-user.netflix.com%2Foauth%2Flogin%3Foauth_token%3Dsafcanhpyuqu96vfhn4w6p9x
Run Code Online (Sandbox Code Playgroud)

我试图解析oauth_token_secret的值.我需要从等号(=)到下一个&符号(&)的所有内容.所以我需要解析:hVhzHVVMHySB

目前,我有以下代码:

Const.OAUTH_TOKEN_SECRET = "oauth_token_secret";

Const.tokenSecret = 
  content.substring(content.indexOf((Const.OAUTH_TOKEN_SECRET + "="))
    + (Const.OAUTH_TOKEN_SECRET + "=").length(), 
      content.length());
Run Code Online (Sandbox Code Playgroud)

这将从oauth_token_string的开头开始,但不会在下一个&符号处停止.我不确定如何指定在以下&符号的末尾停止.谁能帮我?

cle*_*tus 8

这些indexOf()方法允许您指定可选项fromIndex.这允许您找到下一个&符号:

int oauth = content.indexOf(Const.OAUTH_TOKEN_SECRET);
if (oauth != -1) {
  int start = oath + Const.OATH_TOKEN_SECRET.length(); // or
  //int start = content.indexOf('=', oath) + 1;
  int end = content.indexOf('&', start);
  String tokenSecret = end == -1 ? content.substring(start) : content.substring(start, end);
}
Run Code Online (Sandbox Code Playgroud)