从字符串Java中提取文本

时间:2013-03-01 09:26:19

标签: java

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

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

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

输出应为:zaaU9lJ34c5

但应使用“/”和“?”在这个过程中。

6 个答案:

答案 0 :(得分:7)

  String s = "ADACADABRA";
  String s2 = s.substring(3,7);

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

答案 1 :(得分:6)

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("?"));

答案 2 :(得分:3)

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

public static void main (String args[]){
        String string = "ADACADABRA";
        string = string.replace("CADA", "");
        System.out.println(string);
    }

答案 3 :(得分: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

答案 4 :(得分:1)

这是未经测试的,但这样的事情可能会对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是要提取的字符串。

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

答案 5 :(得分:0)

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