这个模式中有一个字符串(这是一个URL)https://xxx.kflslfsk.com/kjjfkskfjksf/v1/files/media/93939393hhs8.jpeg
现在我想把它剪辑到这个
media/93939393hhs8.jpeg
我想在第二个斜杠/
之前删除所有字符。
我是java的新手,但在swift(iOS)中,这就是我们这样做的方式:
if let url = NSURL(string:"https://xxx.kflslfsk.com/kjjfkskfjksf/v1/files/media/93939393hhs8.jpeg"), pathComponents = url.pathComponents {
let trimmedString = pathComponents.suffix(2).joinWithSeparator("/")
print(trimmedString) // "output = media/93939393hhs8.jpeg"
}
基本上,我正在删除此Url期望的最后2个项目然后的所有内容。
我正在使用/
加入这两项。
答案 0 :(得分:2)
String ret = url.substring(url.indexof("media"),url.indexof("jpg"))
答案 1 :(得分:1)
你熟悉正则表达式吗?尝试使用此Regex(在链接中说明)捕获用/
分隔的最后2个项目:
.*?\/([^\/]+?\/[^\/]+?$)
以下是Java中的示例(不要忘记使用\\
转义:
Pattern p = Pattern.compile("^.*?\\/([^\\/]+?\\/[^\\/]+?$)");
Matcher m = p.matcher(string);
if (m.find()) {
System.out.println(m.group(1));
}
或者有split(..)
功能,但我建议你按照上面的方式。 (最后用StringBuilder
正确地连接分离的字符串。
String part[] = string.split("/");
int l = part.length;
StringBuilder sb = new StringBuilder();
String result = sb.append(part[l-2]).append("/").append(part[l-1]).toString();
两者都给出相同的结果:media/93939393hhs8.jpeg
答案 2 :(得分:1)
string result=url.substring(url.substring(0,url.lastIndexOf('/')).lastIndexOf('/'));
或
使用拆分并添加最后2项
string[] arr=url.split("/");
string result= arr[arr.length-2]+"/"+arr[arr.length-1]
答案 3 :(得分:1)
SELECT (
SELECT 'Total Laptops' Device,COUNT(*) DeviceCount
from [Tasks].[dbo].[Lifecycle]
where oldwsid like '%L%' and Quarter = 'Q1'
UNION ALL
SELECT 'Total Desktops' Device,COUNT(*) DeviceCount
from [Tasks].[dbo].[Lifecycle]
where oldwsid like '%W%' and Quarter = 'Q1'
) as A