繁体   English   中英

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

[英]Using regular expressions to rename a string

在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.

使用以下regex获取字符串,直到.mp4部分为止:

^(.*\\.mp4)

而第一个捕获的组就是您想要的。

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

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

就像是 :

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

容易做^^

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

好吧,你也可以这样做:

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

\?.*

并将其替换为空字符串。

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

试试下面的代码,

  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;
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM