gpt4 book ai didi

java - 按条件拆分和配对子字符串

转载 作者:行者123 更新时间:2023-11-29 07:24:41 25 4
gpt4 key购买 nike

我有这样一个字符串:"aa-bb,ccdd,eeff,gg-gg,cc-gg"。我需要用 '-' 符号拆分字符串并从中创建两个字符串,但如果原始字符串的逗号分隔部分不包含 '-' ,需要使用一些占位符而不是子字符串。在上面的示例输出的情况下应该是:

字符串 1:

"{aa,ccdd,eeff,gg,cc}"

字符串 2:

"{bb,0,0,gg,gg}"

我不能使用 lastIndexOf() 方法,因为输入是在一个字符串中。我不确定零件有多少。

if(rawIndication.contains("-")){
String[] parts = rawIndication.split("-");
String part1 = parts[0];
String part2 = parts[1];
}

最佳答案

这是一个使用流的 Java 8 解决方案。逻辑是首先用逗号分割输入字符串,生成一个术语数组。然后,对于每个术语,我们在 dash 上再次拆分,保留第一个条目。对于没有破折号的术语,将只保留整个字符串。最后,我们连接回输出字符串。

String input = "aa-bb,ccdd,eeff,gg-gg,cc-gg";
int pos = 1;
String output = String.join(",", Arrays.stream(parts)
.map(e -> e.split("-").length >= (pos+1) ? e.split("-")[pos] : "0")
.toArray(String[]::new));

System.out.println(output);

这个输出:

bb,0,0,gg,gg

关于java - 按条件拆分和配对子字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56161733/

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