修剪一个字符串以获取java中的第二个单词,第三个单词和第四个单词?

时间:2014-08-31 03:56:11

标签: java regex string

我有两个字符串

一个是

  

String s1 =“我有1000美元”;

第二是

  

String s2 =“我想要我的宠物”;

我只需要在s1中获得“拥有”,“1000”,“美元”。 同样,我只需要在s2中获得“想要”,“我的”和“宠物”。

我知道如何使用代码获取“我”

  

String newS1 = s.substring(0,s.indexOf(“”));

有没有办法可以使用子字符串实现这一点?

3 个答案:

答案 0 :(得分:2)

如果你总是想在你拥有的任何字符串中使用第二,第三和第四个单词,我建议你使用分割函数。

代码:

    String s1 = "I have 1000 dollars";
    String[] sp = s1.split(" ");
    System.out.println("second word is " + sp[1]);
    System.out.println("third word is " + sp[2]);
    System.out.println("Fourth words is " +sp[3]);

输出:

second word is have
third word is 1000
fourth word is dollars

答案 1 :(得分:1)

您可以尝试下面的rgex来获得第二,第三,第四个单词。

^\\S+\\s*(\\S+)\\s*(\\S+)\\s*(\\S+).*$

DEMO

组索引1包含第一个单词,索引2包含第二个单词,索引3包含第三个单词。

Pattern regex = Pattern.compile("^\\S+\\s*(\\S+)\\s*(\\S+)\\s*(\\S+).*$");
 Matcher matcher = regex.matcher("I have 1000 dollars");
 while(matcher.find()){
        System.out.println(matcher.group(1));
        System.out.println(matcher.group(2));
        System.out.println(matcher.group(3));

}

<强>输出:

have
1000
dollars

答案 2 :(得分:1)

String trimFirstWord(String s) {
    return s.contains(" ") ? s.substring(s.indexOf(' ')).trim() : "";
}