从字符串Java中提取文本

用这个字符串“ADACADABRA”。 如何从java中的字符串“ADACADABRA”中提取“CADA”。

以及如何在“/”和“?”之间提取id 从下面的链接。

http://www.youtube-nocookie.com/embed/zaaU9lJ34c5?rel=0

输出应为:zaaU9lJ34c5

但应该使用“/”和“?” 进行中。

and also how to extract the id between "/" and "?" from the link below. http://www.youtube-nocookie.com/embed/zaaU9lJ34c5?rel=0 output should be: zaaU9lJ34c5 

应该 :

 String url = "http://www.youtube-nocookie.com/embed/zaaU9lJ34c5?rel=0"; String str = url.substring(url.lastIndexOf("/") + 1, url.indexOf("?")); 
  String s = "ADACADABRA"; String s2 = s.substring(3,7); 

这里3指定起始索引,7指定停止点。 返回的字符串包含起始索引中的所有字符,最多但不包括结束索引。

我不完全确定你的提取是什么意思,所以我提供了从String中删除它的代码,我不确定这是否是你想要的。

 public static void main (String args[]){ String string = "ADACADABRA"; string = string.replace("CADA", ""); System.out.println(string); } 
 String regex = "CADA"; Pattern p = Pattern.compile(regex, Pattern.MULTILINE); Matcher m = p.matcher(originalText); while (m.find()) { String outputThis = m.group(1); } 

使用此工具http://www.regexplanet.com/advanced/java/index.html

这是未经测试的,但这样的事情可能有助于youtube部分:

  String youtubeUrl = "http://www.youtube-nocookie.com/embed/zaaU9lJ34c5?rel=0"; String[] urlParts = youtubeUrl.split("/"); String videoId = urlParts[urlParts.length - 1]; videoId = videoId.substring(0, videoId.indexOf("?")); 

从字符串中提取CADA毫无意义。 您需要指定如何确定CADA是要提取的字符串。

例如,因为它是中间4个字符? 是因为你每边剥掉3个字符? 你只是在寻找字符串“CADA”吗? 字符串是字符串3,7吗? 它是String的最后7个字符中的前4个吗? 是因为它包含2个元音和2个符号吗? 我可以继续……

也许,你没有考虑到java.lang.String不变性这一事实。 这就是为什么你需要将子串的结果分配给一个新变量。