我想知道是否有一个java库,它可以像日期解析器一样解析字符串。例如,使用SimpleDateFormat
类,可以定义一个模式(yyMMddHHmmssZ
)来解析字符串(010704120856-0700
)以获取日期。我没有解析日期,而是想解析任意数字。
例如,我希望能够解析:
String: X0759502.CSV
Pattern: DSSIYYMM.CSV
X -> Data version:
'X' GOES X-ray
'M' GOES Magnetometer
'P' GOES Electrons, Protons & Alpha particles.
07 -> GOES-7, 91 = SMS-1, 92=SMS-2, etc.
3 -> 3-second values
YY -> year
MM -> month
然后例如获取一个hashmap,我可以使用关键字(例如YY)来获取提取的值。
答案 0 :(得分:1)
答案 1 :(得分:0)
使用java可以使用正则表达式Named Groups。通过该方法,可以实现类似于SimpleDateFormat
解析器的功能。
要解析提供的示例(X0759502.CSV
),请使用此正则表达式:
x(?<satellite>\\d{2})(?<interval>\\d)(?<year>\\d{2})(?<month>\\d{2}).csv$
matcher.group("satellite")
用于获取07
。