Get split value after Java string splitting
•
Java
I have a dynamically generated string
I need to split the string according to the relational operator
To do this, I can use the split function
Now I also want to know which relational operator is the actual split string based on the regular expression mentioned above
An example in the input
String sb = "FEES > 200";
application
List<String> ls = sb.split(">|>=|<|<=|<>|="); System.out.println("Splitted Strings: "+s);
Will give me results,
Splitted strings: [FEES,200 ]
But expect results:
Splitted strings: [FEES,200 ] Splitted Relational Operator: >
Solution
You can use 3 capture groups and change for the second group:
(*?) (greater than = | < = | < > | ≤) (*)
Regex demo
explain
>(.*?) Match any character zero or more times non greedy > (> = |< = |< > |<) match > = or < = or < > or > or < > (. *) match any character zero or more times
For example:
String regex = "(.*?)(>=|<=|<>|>|<)(.*)"; String string = "FEES >= 200"; Pattern pattern = Pattern.compile(regex); Matcher matcher = pattern.matcher(string); if(matcher.find()) { System.out.println("Splitted Relational Operator: " + matcher.group(2)); System.out.println("Group 1: " + matcher.group(1) + " group 3: " + matcher.group(3)); }
Demo java
The content of this article comes from the network collection of netizens. It is used as a learning reference. The copyright belongs to the original author.
THE END
二维码