【发布时间】:2022-01-20 22:13:41
【问题描述】:
我有一个带有文本和 URL (urlsArray) 的字符串数组,例如:
text1@http://url1
text2,text3@http://url2
text3,text4,text5@http://url3
我需要返回@之前的文本包含text3的URL
我正在尝试类似的东西
for (String string : urlsArray){
if(string.matches("WHAT SHOULD BE HERE TO SEARCH FOR text3 till @")){
List<String> redirectURL = Arrays.asList(string.substring(string.lastIndexOf("@") + 1));
System.out.println(redirectURL);
}
}
所以问题是
if(string.matches("WHAT SHOULD BE HERE TO SEARCH FOR text3 till @")){
预期输出是:
http://url2
http://url3
或字符串匹配之外的任何其他方法
如何在中使用变量而不是 text3
String patternString = ".*text3.*@.*";
【问题讨论】:
-
您已经使用了
string.substring(string.lastIndexOf("@") + 1)。匹配到字符就相当于只使用子串的另一端,所以string.substring(0, string.lastIndexOf("@")).
标签: java