如何在java中删除字符串中的几个特殊字符
我有一个输入字符串,比如如何在java中删除字符串中的几个特殊字符,java,regex,string,Java,Regex,String,我有一个输入字符串,比如 ${URL:URL=https://example.com/private/imgs/ROHAN_ZAVERI.jpg} 我希望输出字符串如下所示: https://example.com/private/imgs/ROHAN_ZAVERI.jpg 请告诉我使用java 8从输入字符串中删除几个特殊字符的正则表达式。您可以使用字符串函数获得与正则表达式相同的结果 String str = "${URL:URL=https://example.com/privat/i
${URL:URL=https://example.com/private/imgs/ROHAN_ZAVERI.jpg}
我希望输出字符串如下所示:
https://example.com/private/imgs/ROHAN_ZAVERI.jpg
请告诉我使用java 8从输入字符串中删除几个特殊字符的正则表达式。您可以使用字符串函数获得与正则表达式相同的结果
String str = "${URL:URL=https://example.com/privat/imgs/ROHAN_ZAVERI.jpg}";
str.substring(str.indexOf('=')+1, str.length -1);
System.out.println(str);
输出:
https://example.com/privat/imgs/ROHAN_ZAVERI.jpg
您可以使用字符串拆分函数来获得所需的输出
String str = "${URL:URL=https://example.com/privat/imgs/ROHAN_ZAVERI.jpg}";
String[] spl = str.Split('=','}');
Console.WriteLine(spl[1]);
输出为
https://example.com/privat/imgs/ROHAN_ZAVERI.jpg
您可以使用以下表达式:
https?[^}]*(?=})
将https
与可选的http
匹配s
匹配所有非结束括号的内容[^}]*
右括号的前瞻性(?=})
}
Java代码段:
public static void main (String[] args) throws java.lang.Exception
{
String str = "${URL:URL=https://example.com/private/imgs/ROHAN_ZAVERI.jpg}";
String patternstr = "https?[^}]*(?=})";
Pattern pattern = Pattern.compile(patternstr);
Matcher matcher = pattern.matcher(str);
if (matcher.find()){
System.out.println(matcher.group(0));
}
}
输出:
https://example.com/privat/imgs/ROHAN_ZAVERI.jpg
您可以尝试实时代码。regex不是Java-8特有的,因此“Java-8”标记实际上不应该存在。ret=inputstring.replaceAll(“^[^=]+=(*)\\\\\\s*$”,“$1”);字符串结果=input.replaceAll(“.*=(.*)}”,“$1”);到目前为止,您尝试了什么?若拆分字符串并从数组中获取第二个索引,会怎么样?字符串[]spl=str.Split('=','}');控制台写入线(spl[1]);