使用正则表达式重命名字符串

时间:2014-04-14 10:18:23

标签: java regex string

在java中,我想重命名一个String,所以它总是以“.mp4”结尾

假设我们有一个编码链接,如下所示:

String link = www.somehost.com/linkthatIneed.mp4?e=13974etc...

那么,如何重命名link字符串,使其始终以“.mp4”结束?

link = www.somehost.com/linkthatIneed.mp4  <--- that's what I need the final String to be.

4 个答案:

答案 0 :(得分:2)

使用以下.mp4

获取regex部分之前的字符串

^(.*\.mp4)

并且第一个被捕获的组就是你想要的。

演示:http://regex101.com/r/zQ6tO5

答案 1 :(得分:1)

另一种方法是将split带有“.mp4”的字符串作为拆分字符然后再添加:)

类似的东西:

String splitChar = ".mp4";
String link = "www.somehost.com/linkthatIneed.mp4?e=13974etcrezkhjk"
String finalStr = link.split(splitChar)[0] + splitChar;

容易做^^

PS:我更喜欢通过正则表达式,但它要求更多关于正则表达式的知识^^

答案 2 :(得分:0)

你可以这样做:

将字符串与以下正则表达式匹配

\?.*

并用空字符串替换它。

演示:http://regex101.com/r/iV1cZ8

答案 3 :(得分:0)

尝试以下代码,

  private String trimStringAfterOccurance(String link, String occuranceString) {

    Integer  occuranceIndex =  link.indexOf(occuranceString);

    String trimmedString = (String) link.subSequence(0, occuranceIndex + occuranceString.length() );    

    System.out.println(trimmedString);

    return trimmedString;
}