3

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

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

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

输出应该是:zaaU9lJ34c5

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

4

6 回答 6

10
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("?"));
于 2013-03-01T09:55:06.280 回答
8
  String s = "ADACADABRA";
  String s2 = s.substring(3,7);

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

于 2013-03-01T09:28:02.803 回答
3

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

public static void main (String args[]){
        String string = "ADACADABRA";
        string = string.replace("CADA", "");
        System.out.println(string);
    }
于 2013-03-01T09:30:49.113 回答
3

这是未经测试的,但这样的事情可能对 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 个字符吗?它是字符串最后 7 个字符中的前 4 个吗?是因为它包含2个元音和2个辅音吗?我可以继续..

于 2013-03-01T09:43:46.577 回答
1
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

于 2013-03-01T09:33:06.643 回答
0

可能,您没有考虑到java.lang.String不变性这一事实。这就是为什么您需要将子字符串化的结果分配给新变量的原因。

于 2013-03-01T09:31:03.053 回答