How to get multiple substrings from string in Android/Java ?
java, regex, string
Solution
As Rohit Jain said, with regular expressions. Here is functional code:
// import java.io.Console;
import java.util.regex.Pattern;
import java.util.regex.Matcher;
public class RegexTestHarness {
public static void main(String[] args){
// Console console = System.console(); // Not needed
Pattern pattern = Pattern.compile("<Mytag([^>]*)>");
String myString = "What is <Mytag a exp 5 exp 3> written as a single power of <i>a</i> <Mytag yx4> and the double power of <b>x+y</b> <Mytag 3xy4>";
Matcher matcher = pattern.matcher(myString);
while (matcher.find()) {
// Rohit Jain observation
System.out.println(matcher.group(1));
}
}
}
Source: Java Regex tutorial.
Problem
I need some help to extract multiple substrings from a string. An example of a string is as given below: ``` String str = "What is <Mytag a exp 5 exp 3> written as a single power of <i>a</i> <Mytag yx4> and the double power of <b>x+y</b> <Mytag 3xy4>"; ``` I am trying to get substrings Between "<Mytag" and ">" so my desire output will be 1) a exp 5 exp 3 2) yx4 3) 3xy4 I have tried with Scanner and substring everything I getting first string successfully but the problem with getting second and third occurrence. in substring methods I am successfully getting index of all tages "<Mytag" but not able to get correct index of ">" because it comes with Bold and italic also.