删除JAVA中特定模式后的字符串部分

删除JAVA中特定模式后的字符串部分,java,string,comparison,photo,Java,String,Comparison,Photo,我有这个字符串: http://www.website.com/path/photo.jpg?resize=600%2C400 我想删除文件类型后面的部分。还有其他我想说的话 http://www.website.com/path/photo.jpg 可以存在的文件类型为.jpg、.png、.gif 你知道如何实现吗?实现这一点的一种方法是在字符串中找到字符“?”的第一个位置,然后截断字符串直到该位置 String modifiedUrl = ""; if(url.contains("?")

我有这个字符串:

http://www.website.com/path/photo.jpg?resize=600%2C400
我想删除文件类型后面的部分。还有其他我想说的话

http://www.website.com/path/photo.jpg
可以存在的文件类型为.jpg、.png、.gif


你知道如何实现吗?

实现这一点的一种方法是在字符串中找到字符
“?”
的第一个位置,然后截断字符串直到该位置

String modifiedUrl = "";
if(url.contains("?"))
{
   modifiedUrl = url.substring(0, url.indexOf("?"));
}

一个更具体的URL解决方案是使用
URL
类中的逻辑,这将比您在相同时间内创建的任何正则表达式都更智能

URL fullUrl = new URL("http://www.website.com/path/photo.jpg?resize=600%2C400");
System.out.println(fullUrl.getProtocol() + "://" + fullUrl.getHost()
                   + ":" + fullUrl.getPort() + fullUrl.getPath());

您需要在其中使用异常处理和null处理来处理未提供URL位的情况,如
/localDir/localFile
ftp://yourServer.yourDomain/file

您已经试过了吗?最好的解决方案是Regex…
”http://www.website.com/path/photo.jpg?resize=600%2C400“.split(“\\?”)[0]