2014-04-14 78 views
0

在java中,我要重命名一个字符串,因此始终与使用正则表达式来重命名一个字符串

假设我们有一个编码环节,寻找如下名为” .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. 
+0

显示你尝试至今。 – Mena

+0

“重命名一个字符串,所以它总是以”.mp4“”'string + =“.mp4”'结尾? – Biffen

回答

1

另一种方式做,这将是split与”约会专家“ 为分割字符字符串,然后再添加它:)

喜欢的东西:

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

容易做到的^^

PS:我更喜欢用正则表达式来通过,但它询问有关正则表达式的^^

01更多的知识
+0

谢谢你不要让我使用正则表达式。好神,我讨厌正则表达式。这工作得很好。+ 1'd并被选为最佳答案。 PS最后一个字符串应该='link.split(splitChar [0 ] + splitChar'没有“”splitChar – Gregg1989

+0

我编辑;)当然它是splitChar没有'“”' 高兴你喜欢它;) –

2

使用以下regex刚刚得到的字符串,直到.mp4部分:

^(.*\.mp4)

和捕获的第一组是你想要的。

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

+0

那么,从字面上做到这一点? 'link =“^(。* \。mp4”);'? – Gregg1989

+0

@ Gregg1989,那么刚刚阅读了关于java中正则表达式的工作原理和搜索上面给出的正则表达式,那就是你想要的字符串。 :) – sshashank124

+0

好吧:)感谢您的快速和有益的回应! – Gregg1989

0

那么你可以做到这一点:

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

\?.* 

,并用空字符串替换它。

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

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; 
} 
相关问题