[英]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.