我完全听不懂。到处都有带有索引的手册,但我们不知道索引,因为字符串的长度不同。
示例:有一个标记的 URL,例如https://start.spring.io/?utm_source=youtube&utm_medium=cpc&utm_campaign={campaignid}&utm_content={adgroupid}&utm_term={creative}
任务是获取https://start.spring.io/?utm_source=和&utm_medium=cpc&utm_campaign={campaignid}&utm_content={adgroupid}&utm_term={creative}之间的值,即youtube并将其写在单独的行中
我发现的所有内容 - 要么不起作用,要么通过我不知道的正则表达式,要么通过索引
对于字符串中的“简单”搜索,您可以使用重载方法
String::indexOf(String str)andString::indexOf(String str, int from),但是它区分大小写。此外,在一般情况下,您可能需要使用方法解码参数值
URLDecoder::decode同样,您可以使用 形式的正则表达式进行搜索
paramName + "=([^&]*)(&|$)",那么实现不区分大小写的搜索会更容易一些:正则表达式的含义:在参数名和等号后,从0个不等于的字符开始查找,
&直到找到参数分隔符&或字符串结尾$。事实上,你不仅需要获取字符串的一部分,还需要解析 URL。有大量现成的解决方案,但如果您想自己编写,那么该方法将如下所示:
您通过传递 new URL("...") (而不是省略号,替换您的 url)来调用它,您将获得一个包含所有查询参数的 Map。拉出你需要的钥匙。
至于现成的解决方案,这完全取决于您在项目中使用什么:
在我的实践中,我还没有看到更多,但我确信这远不是一个详尽的清单。根据您的口味选择))