我有两个字符串
一个是
String s1 =“我有1000美元”;
第二是
String s2 =“我想要我的宠物”;
我只需要在s1中获得“拥有”,“1000”,“美元”。 同样,我只需要在s2中获得“想要”,“我的”和“宠物”。
我知道如何使用代码获取“我”
String newS1 = s.substring(0,s.indexOf(“”));
有没有办法可以使用子字符串实现这一点?
答案 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+).*$
组索引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() : "";
}