Java 在两个字符串之间提取字符串
我有一根这样的绳子Java 在两个字符串之间提取字符串,java,string,substr,substring,Java,String,Substr,Substring,我有一根这样的绳子 String str = "www.google.com/..../upload/FileName.zip 我想从上面的字符串中提取字符串“FileName”。我尝试了substr()方法,但找不到任何解决方案。您可以尝试此方法 String str = "www.google.com/..../upload/FileName.zip"; File file=new File(str); String fileName=file.getName();
String str = "www.google.com/..../upload/FileName.zip
我想从上面的字符串中提取字符串“FileName”。我尝试了substr()方法,但找不到任何解决方案。您可以尝试此方法
String str = "www.google.com/..../upload/FileName.zip";
File file=new File(str);
String fileName=file.getName();// now fileName=FileName.zip
System.out.println(fileName.split("\\.")[0]);
输出:
FileName
你可以试试这个
String str = "www.google.com/..../upload/FileName.zip";
File file=new File(str);
String fileName=file.getName();// now fileName=FileName.zip
System.out.println(fileName.split("\\.")[0]);
输出:
FileName
这就是你要找的吗
String lastPart= yourUrl.substring(yourUrl.lastIndexOf('/')+1, yourUrl.length());
String fileName = lastPart.substring(0, lastPart.lastIndexOf('.'));
考虑到给定的格式不会改变
这就是你要找的吗
String lastPart= yourUrl.substring(yourUrl.lastIndexOf('/')+1, yourUrl.length());
String fileName = lastPart.substring(0, lastPart.lastIndexOf('.'));
考虑到给定的格式不会改变
试试这个
String str = "www.google.com/..../upload/FileName.zip";
String str1[] = str.split("/");
String file=str1[str1.length-1];
String fileName=file.substring(0, file.lastIndexOf("."));
System.out.println(fileName);
输出
FileName
试试这个
String str = "www.google.com/..../upload/FileName.zip";
String str1[] = str.split("/");
String file=str1[str1.length-1];
String fileName=file.substring(0, file.lastIndexOf("."));
System.out.println(fileName);
输出
FileName
要获取最后一条斜线和点之间的部分,请执行以下操作:
String filename = str.replaceAll(".*?(?:/(\\w+)\\.\\w+$)?", "$1");
此正则表达式添加了一些特殊的调料,如果找不到目标,则通过使目标可选和前导表达式不情愿来返回空白。要获取最后一个斜杠和点之间的部分:
String filename = str.replaceAll(".*?(?:/(\\w+)\\.\\w+$)?", "$1");
这个正则表达式添加了一些特殊的调料,如果找不到目标,则通过使目标为可选的且前导表达式不情愿来返回空白。为什么您的尝试失败了?我认为substr()方法需要索引。但是我找不到如何使用substr()来提取两个不同字符串之间的字符串。
string#lastIndexOf
方法是您的朋友。为什么您的尝试失败了?我认为substr()方法需要索引。但是我找不到如何使用substr()来提取两个不同字符串之间的字符串。string#lastIndexOf
方法是您的朋友。是的,此格式不会更改。然后它可以工作,并通过单击该链接进行演示。是的,此格式不会更改。然后它工作并通过单击该链接进行演示。不需要锚吗?@Quincunx yeah thx-添加了end anchor$。不需要起锚。这正是我想的方法;我比较喜欢正则表达式。这是清楚的。我很容易知道它在做什么。另一方面,对于其他一些答案,我发现不太清楚。@quincunx我在正则表达式中添加了一些功夫,因此如果找不到文件名,它将返回空白。对于这种行为,非正则表达式的方法不可能做到如此简洁。@Quincunx你可以通过向上投票的方式捐赠正则表达式fu代表-我将尝试将低投票率(但相当好的imho)的答案转化为“不需要锚吗?”@Quincunx yeah thx-添加了end anchor$。不需要起锚。这正是我想的方法;我比较喜欢正则表达式。这是清楚的。我很容易知道它在做什么。另一方面,对于其他一些答案,我发现不太清楚。@quincunx我在正则表达式中添加了一些功夫,因此如果找不到文件名,它将返回空白。对于这种行为,非正则表达式的方法不可能如此简洁。@Quincunx你可以通过向上投票的方式捐赠正则表达式fu代表-我将尝试将投票率低(但很好的imho)的答案变成一个简单的答案