我想从String的最后一部分获取值,这是我的示例String
String str =“www.mywebsite.com?id=0001&user=myname”
我喜欢从字符串中获取 myname 这个词,我看到的所有例子都是这样的
String getUser = str.substring(str.length() - 6);
但是用户值长度会更改每个事务,因此我无法将其修复为任何值。任何人都可以帮助我如何从该字符串中获取用户值。感谢。
答案 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);
}