Getting a substring from a string after a particular word
You may try this
String example = "ABC Results for draw no 2888";
System.out.println(example.substring(example.lastIndexOf(" ") + 1));
yourString.substring(yourString.indexOf("no") + 3 , yourString.length());
You always want to strive something that is easy to configure and modify. That is why I always recommend to choose Regex Pattern matching over other searches.
Example, consider this for your example:
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Play {
public static void main(String args[]) {
Pattern p = Pattern.compile("^(.*) Results for draw no (\\d+)$");
Matcher m = p.matcher("ABC Results for draw no 2888");
m.find();
String groupName = m.group(1);
String drawNumber = m.group(2);
System.out.println("Group: "+groupName);
System.out.println("Draw #: "+drawNumber);
}
}
Now from the provided pattern, I can easily identify the useful parts. It helps me to identify problems, and I can identify additional parts in the pattern that is useful to me (I have added the group-name).
Another clear benefit is that I can store easily this pattern externally in a configuration file.