gpt4 book ai didi

java - 正则表达式拉出每个非空间组

转载 作者:行者123 更新时间:2023-11-29 10:16:52 25 4
gpt4 key购买 nike

输入:

2 43: 72: Y

期望的输出:

ArrayList<String> resultArr = { "2", "43:", "72:", "Y" };

我当前创建这个数组的代码是...

String stateString = "2 43: 72: Y";
String stateStringFinder = "\\s*(\\S+)(\\s*(\\S+))+";
Pattern stateStringPattern = Pattern.compile(stateStringFinder);

Matcher matcher = stateStringPattern.matcher(stateString);

while(matcher.find()) {
resultArr.add(matcher.group());
}

然而,resultArr 的内容是 { "2 43: 72: Y"},这表明我的正则表达式过于贪婪,匹配了整个字符串。

我怎样才能分解它以便它放入 stateString 中的每个“子字符串”,同时忽略空格?

最佳答案

使用String.split :

String stateString = "2 43: 72: Y";
String[] resultArray = stateString.split("\\s");
List<String> resultList = Arrays.asList(resultArray);

您可能希望将 "\\s+" 视为分隔符,而不是简单地 "\\s",以避免在您的结果中出现空字符串有多个连续的空格。

关于java - 正则表达式拉出每个非空间组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15439385/

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