gpt4 book ai didi

java - java字符串拆分后获取拆分值

转载 作者:搜寻专家 更新时间:2023-10-30 21:46:33 25 4
gpt4 key购买 nike

我有一个动态生成的字符串。

我需要根据关系运算符拆分字符串。

为此我可以使用拆分功能。

现在我还想知道,在上面提到的正则表达式中,字符串实际上是根据哪个关系运算符拆分的。

一个例子,输入时

String sb = "FEES > 200";

正在申请

List<String> ls =  sb.split(">|>=|<|<=|<>|=");
System.out.println("Splitted Strings: "+s);

会给我结果,

Splitted strings: [FEES ,  200 ]

但期待结果:

Splitted strings: [FEES ,  200 ]
Splitted Relational Operator: >

最佳答案

您可以使用 3 个捕获组,并为第二组交替使用:

(.*?)(>=|<=|<>|>|<)(.*)

Regex demo

解释

  • (.*?)非贪婪匹配任意字符零次或多次
  • (>=|<=|<>|>|<)匹配 >=<=<>><
  • (.*)匹配任何字符零次或多次

例如:

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

关于java - java字符串拆分后获取拆分值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52476888/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com