gpt4 book ai didi

java - 在特定模式之前拆分所有内容

转载 作者:搜寻专家 更新时间:2023-10-31 08:31:47 24 4
gpt4 key购买 nike

我有一个字符串

Jon, Kim, Hem, David, Gary, Bryan, Otis, Neil, Blake, Greg, @Team=Cowboys, Chargers, Panthersm, Royals, Kings, Warriors

我想在 java 中将此字符串从 @Team 之前的所有逗号中拆分出来出现。结果应如下所示:

Jon
Kim
Hem
David
Gary
Bryan
Otis
Neil
Blake
Greg
@Team=Cowboys, Chargers, Panthersm, Royals, Kings, Warriors

我的 java 代码使用正则表达式 (?<=)(?=@Team) :

String data = "Jon, Kim, Hem, David, Gary, Bryan, Otis, Neil, Blake, Greg, @Team=Cowboys, Chargers, Panthersm, Royals, Kings, Warriors";
String arr[] = data.split("(?<=)(?=@Team)");
String temp[] = arr[0].split(",\\s");
String result[] = new String[temp.length + 1];

int i=0;
for(i=0; i<temp.length; i++)
result[i] = temp[i];

result[i] = arr[1];

for(String s : result)
System.out.println(s);

它可以完成工作,但有很多样板文件。是否有任何正则表达式可以让我一次性完成所有这些工作?

谢谢。

最佳答案

您可以使用正则表达式 ,\s(?=.*@Team)

DEMO

这基本上是在寻找成对的 ,\s 后跟任何字符串 @Team

代码

String data = "Jon, Kim, Hem, David, Gary, Bryan, Otis, Neil, Blake, Greg, @Team=Cowboys, Chargers, Panthersm, Royals, Kings, Warriors";
String arr[] = data.split(",\\s(?=.*@Team)");
for(String s : arr) {
System.out.println(s);
}

输出

Jon
Kim
Hem
David
Gary
Bryan
Otis
Neil
Blake
Greg
@Team=Cowboys, Chargers, Panthersm, Royals, Kings, Warriors

关于java - 在特定模式之前拆分所有内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43013310/

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