从Android的String的最后一部分获取特定值

时间:2015-07-10 03:47:04

标签: java android string

我想从String的最后一部分获取值,这是我的示例String

  

String str =“www.mywebsite.com?id=0001&user=myname”

我喜欢从字符串中获取 myname 这个词,我看到的所有例子都是这样的

String getUser = str.substring(str.length() - 6);

但是用户值长度会更改每个事务,因此我无法将其修复为任何值。任何人都可以帮助我如何从该字符串中获取用户值。感谢。

5 个答案:

答案 0 :(得分:2)

String getUser=str.subString(str.lastIndexOf("=")+1,Str.length());  

将返回myname。

答案 1 :(得分:2)

如果你的字符串是uri,你可以使用Uri的getQueryParameter:

String str="www.mywebsite.com?id=0001&user=myname";
Uri uri = Uri.parse(str);
return uri.getQueryParameter("user");

答案 2 :(得分:0)

试试这个

String getUser = str.substring(str.lastIndexOf("=") + 1);

答案 3 :(得分:0)

试试这个

String foo = "www.mywebsite.com?id=0001&user=myname";
String[] split = foo.split("=");
String name = split[split.length-1];

使用String.split(),您可以使用分隔符拆分字符串并将值放在数组中。它类似于PHP的爆炸方法。

答案 4 :(得分:0)

interface IMyDispatch
{
public:
   virtual bool Invoke(const std::string, void*) = 0;
   virtual ~IMyDispatch() {};
};

///...

class CSomeClass : public IMyDispatch
{
public:
  void DoSomeCoolStuff() { /*some cool stuff here*/ };
public: //IMyDispatch
  bool Invoke(const std::string szName, void* pData)
  {
     if(szName == "DoSomeCoolStuff") //or methods map from the other ansvers
     {
        DoSomeCoolStuff();
        return(true);
     }

     return(false);
  }
}

int main()
{
  CSomeClass *pCl;
  IMyDispatch* pDisp = dynamic_cast<IMyDispatch*>(pCl);
  if(pDisp)
    pDisp->Invoke("DoSomeCoolStuff", nullptr);
}