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复制到剪贴板中。

通过正则表达式,我们可以方便地提取链接中的特定信息,从而进行下一步的操作。

Android Java 正则表达式提取图片链接

原文地址: https://www.cveoy.top/t/topic/eFBf 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录