【问题标题】:Is there a best way to parse the following string in java?有没有在java中解析以下字符串的最佳方法?
【发布时间】:2021-05-08 09:15:22
【问题描述】:

我正在开发一个 Android 应用程序,但我很难拆分此字符串:

FCCCYNYX (A0168 / 21 NOTAMN Q) FCCC / QWULW / I / BO / AW / 000/999 / 0346N00843E 005 A) FGSL B) 2021-02-03 08:00:00 C) 2021-02-05 11:00: 00 D) FEB 03 TIL 05 0800-1100 E) UA FLIGHT WILL TAKE PLACE RADUIS 10KM FROM RADIAL 240DEG TO 82DEG FROM MBO VOR F) GND G) FL030)

表格下:

FCCCYNYX
A)---
B)---
C)---
D)---
E)---
F)---
G)---

谢谢

【问题讨论】:

  • 我建议您针对这个新要求发布一个新问题。由于您已经接受了原始答案的答案,因此几乎没有任何贡献者会注意到(和/或有兴趣回答)您发布了一个不同的问题作为更新。
  • 我支持@LiveandLetLive 的评论,我已经回复到原来的问题了。

标签: java android parsing


【解决方案1】:

使用String#splitString#replaceAll,我们可以试试:

String input = "FCCCYNYX (A0168 / 21 NOTAMN Q) FCCC / QWULW / I / BO / AW / 000/999 / 0346N00843E 005 A) FGSL B) 2021-02-03 08:00:00 C) 2021-02-05 11:00: 00 D) FEB 03 TIL 05 0800-1100 E) UA FLIGHT WILL TAKE PLACE RADUIS 10KM FROM RADIAL 240DEG TO 82DEG FROM MBO VOR F) GND G) FL030)";
String[] parts = input.split("\\s+(?=\\b[A-G]\\))");
parts[0] = parts[0].replaceAll("\\s+.*", "");
Arrays.stream(parts).forEach(System.out::println);

打印出来:

FCCCYNYX
A) FGSL
B) 2021-02-03 08:00:00
C) 2021-02-05 11:00: 00
D) FEB 03 TIL 05 0800-1100
E) UA FLIGHT WILL TAKE PLACE RADUIS 10KM FROM RADIAL 240DEG TO 82DEG FROM MBO VOR
F) GND
G) FL030)

【讨论】:

  • 非常感谢。你能给我新的正则表达式来根据我的新设计拆分我的字符串输入吗?我不是很懂正则表达式?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-04-26
  • 2010-11-15
  • 2012-02-04
  • 2012-04-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多