Android Java 正则表达式提取图片链接
Android Java 正则表达式提取图片链接
在 Android 开发中,我们经常需要从图片链接中提取特定的信息。例如,从以下链接中提取前半部分的数字部分:
http://bsyimg.pandapaint.net/v2/work_cover/user/18922259/1692469919763.jpg?x-oss-process=image/resize,m_lfit,w_1080,limit_0/auto-orient,1/sharpen,100/crop,g_nw,x_0,y_0,w_1080,h_2160
我们可以使用正则表达式来实现这一功能。以下代码展示了如何使用正则表达式提取链接中的两个数字部分:
import java.util.regex.Matcher;
import java.util.regex.Pattern;
String imageUrl = 'http://bsyimg.pandapaint.net/v2/work_cover/user/18922259/1692469919763.jpg?x-oss-process=image/resize,m_lfit,w_1080,limit_0/auto-orient,1/sharpen,100/crop,g_nw,x_0,y_0,w_1080,h_2160';
Pattern pattern = Pattern.compile('(.*/\d+/\d+\.jpg).*');
Matcher matcher = pattern.matcher(imageUrl);
if (matcher.matches()) {
String extractedUrl = matcher.group(1);
// 使用提取的URL进行操作
return '获取链接成功: ' + extractedUrl;
} else {
// 未能提取到指定部分
ClipboardManager clipboard = (ClipboardManager) getSystemService(Context.CLIPBOARD_SERVICE);
ClipData clip = ClipData.newPlainText('imageUrl', imageUrl);
clipboard.setPrimaryClip(clip);
return '未能提取到图片地址: ' + imageUrl;
}
上述代码中,使用了正则表达式(.*/\d+/\d+\.jpg).*来匹配imageUrl中的指定部分。其中,.*表示匹配任意字符,/\d+/\d+\.jpg表示匹配/后跟两组数字,再跟.jpg的部分。如果匹配成功,则使用matcher.group(1)来获取提取的URL。否则,将原始的imageUrl复制到剪贴板中。
通过正则表达式,我们可以方便地提取链接中的特定信息,从而进行下一步的操作。
原文地址: https://www.cveoy.top/t/topic/eFBf 著作权归作者所有。请勿转载和采集!