gpt4 book ai didi

java - 正则表达式模式匹配器,如何存储字符串的其余部分

转载 作者:行者123 更新时间:2023-12-01 22:41:42 25 4
gpt4 key购买 nike

字符串:美国 (45)

使用模式匹配仅获取数值 45

Java代码

ArrayList<String> portfolioCount = new ArrayList<String>();
String mainText = USA (45)
final Pattern p = Pattern.compile("\\((.*?)\\)");
final Matcher m = p.matcher(mainText);
m.find();
portfolioCount.add(m.group(1));

将数值存储到数组列表中,我的问题是如何将字符串的其余部分(即美国)存储到另一个数组列表中

最佳答案

您可以使用lookahead和lookbehind以避免在匹配组中包含括号:

ArrayList<String> countryCount = new ArrayList<String>();
ArrayList<String> portfolioCount = new ArrayList<String>();
String mainText = "USA (45)";
final Pattern p = Pattern.compile("(.*?)(?>\\()(\\d+)(?=\\)).*");
final Matcher m = p.matcher(mainText);
m.find();
countryCount.add(m.group(1)); //USA
portfolioCount.add(m.group(2)); //45

关于java - 正则表达式模式匹配器,如何存储字符串的其余部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26032100/

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