Reputation: 1577
String tect = "A to B";
Pattern ptrn = Pattern.compile("\\b(A.*)\\b");
Matcher mtchr = ptrn.matcher(tr.text());
while(mtchr.find()) {
System.out.println( mtchr.group(1) );
}
I am getting output A to B
but I want to B
.
Please help me.
Upvotes: 5
Views: 162
Reputation: 70722
You can just place the A
outside of your capturing group.
String s = "A to B";
Pattern p = Pattern.compile("A *(.*)");
Matcher m = p.matcher(s);
while (m.find()) {
System.out.println(m.group(1)); // "to B"
}
You could also split the string.
String s = "A to B";
String[] parts = s.split("A *");
System.out.println(parts[1]); // "to B"
Upvotes: 3
Reputation: 424983
You can do it in one line:
String afterA = str.replaceAll(".*?A *", ""),
Upvotes: 0
Reputation: 43023
Change your pattern to use look-behind possitive assertion checking for A
:
Pattern ptrn = Pattern.compile("(?<=A)(.*)");
Upvotes: 1