繁体   English   中英

拆分字符串并删除数组中存储的逗号 - Java

[英]Split String and Remove Commas Stored in Array - Java

我试图通过删除我目前不需要的部分来拆分字符串。 我已经删除了大部分部分,但输出在存储它们的数组中包含太多逗号。 这是我当前的代码:

List<String> flightItems = new ArrayList<String>();
String s = flightInfo;
String[] tokens = s.split("Start Location: | ---- |Destination: |Date/Time: ");

for (String t : tokens) {

    flightItems.add(t);
}
System.out.println(flightItems);

这是当前在我的控制台中的输出外观:

[, BOS, , ALB, , 03-20-2020 09:00AM]

我正在寻找的所需输出是这样的,因此我可以稍后参考索引:

[BOS, ALB, 03-20-2020 09:00AM]

飞行信息字符串如下:

Start Location: BOS ---- Destination: ALB ---- Date/Time: 03-20-2020 09:00AM

虽然您当前的正则表达式可能不适合拆分,但它接近于对输入文本进行正则表达式匹配。 考虑:

String input = "Start Location: BOS ---- Destination: ALB ---- Date/Time: 03-20-2020 09:00AM";
String pattern = "(?:\\b(?:Start Location:|Destination:)\\s*(\\S+)|Date/Time:\\s*(\\S+\\s+\\S+))";
List<String> matches = new ArrayList<>();
Pattern r = Pattern.compile(pattern);
Matcher m = r.matcher(input);
while (m.find()) {
    matches.add(!Objects.isNull(m.group(1)) ? m.group(1) : m.group(2));
}
System.out.println(String.join(",", matches)));

这打印:

BOS,ALB,03-20-2020 09:00AM

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM