Java 如何从URL/字符串获取特定字符序列

Java 如何从URL/字符串获取特定字符序列,java,oop,url,Java,Oop,Url,我有一个URL,但我只需要http_令牌的值,即somedata 在该URL中,以便我可以在代码中将令牌值作为参数发送。我怎么得到它 网址: https://website.com/?HTTP_TARGETPORTAL=7&HTTP_TOKEN=somedata&HSID_DOMAIN_URL=...您可以将字符串传递到URL并获取查询参数 以下是一个基于答案的有效解决方案: 这种方法的优点: 不依赖于查询参数的顺序 还解析其他参数。如果将来需要,它们也可以存储。 我没有使用过Java正则表达式

我有一个URL,但我只需要http_令牌的值,即somedata 在该URL中,以便我可以在代码中将令牌值作为参数发送。我怎么得到它

网址:


https://website.com/?HTTP_TARGETPORTAL=7&HTTP_TOKEN=somedata&HSID_DOMAIN_URL=...

您可以将字符串传递到URL并获取查询参数

以下是一个基于答案的有效解决方案:

这种方法的优点:

不依赖于查询参数的顺序 还解析其他参数。如果将来需要,它们也可以存储。
我没有使用过Java正则表达式,但整个过程应该是这样的

我不确定这是否有效。实现预期结果的方法有很多,但这里是regex方法

String line = ""; // URL HERE
String pattern = "HTTP_TOKEN=(.+)[&]*";

// Create a Pattern object
Pattern r = Pattern.compile(pattern);

// Now create matcher object.
Matcher m = r.matcher(line);
if (m.find()) {
    System.out.println("HTTP TOKEN: " + m.group(1) );
}else {
    System.out.println("NOT FOUND");
}
正则表达式预览:


一种解决方案是为此使用正则表达式。你试过什么?我什么都没试过。你能分享代码吗?不,对不起,我不会分享代码。StackOverflow用于帮助解决特定的编码问题,而不是代码共享站点。请先尝试一些东西,如果您遇到进一步困难,我们可以提供帮助。正则表达式允许您定义模式并尝试匹配它。例如,这就是如何验证给定字符串是否为有效的电子邮件格式文本。text@text.com. 查看此网站了解更多详细信息:这是否回答了您的问题?我喜欢你的解决方案。一个小的修正是&。它可能存在,也可能不存在。所以[&]*可能是必需的。@sunildaburi正则表达式在我测试时运行良好。如果我在什么地方犯了错误,请纠正我。谢谢。它适用于给定的URL。如果令牌是URL中的最后一个键,则根据您的regex@SunilDabburi是的,你说得对。已尝试:字符串参数1=urllllllll;请尝试{Pattern p=Pattern.compileHTTP_TOKEN=[^&]+;Matcher m=p.matcherparams1;而m.find{System.out.printlnm.group;}}}捕获Pattern语法异常项{//error handling}
Http token: GthzXwVHL2xyAdMsHukFPGrSrP6GJHItc%2BEucuznsQk0%2FEhFrjTfr6r0fL16SKOQvus7y5dHmZ1LP3jUJtvY2w%3D%3D
String line = ""; // URL HERE
String pattern = "HTTP_TOKEN=(.+)[&]*";

// Create a Pattern object
Pattern r = Pattern.compile(pattern);

// Now create matcher object.
Matcher m = r.matcher(line);
if (m.find()) {
    System.out.println("HTTP TOKEN: " + m.group(1) );
}else {
    System.out.println("NOT FOUND");
}