java - 类似于日期解析器的可配置字符串解析器

标签 java parsing pattern-matching

我想知道是否有一个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)来获取提取的值。

最佳答案

看来您需要正则表达式解析(又名正则表达式)。 查看MatcherPattern 。 这些链接指向 java 7 API, 但这两个类自 java 1.5(或之前)以来就已存在。

关于java - 类似于日期解析器的可配置字符串解析器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26638910/

相关文章:

java - Spring Boot 使用 CLI arg 覆盖应用程序属性

java - 仅允许具有唯一名称的对象 - Java

java - 无法从服务器获取 JSON 数据

Erlang 模式不匹配,但正确,该怎么办?

ruby-on-rails - 如何将重音字符与正则表达式匹配?

java - Android:制作一个包含很多页面的应用程序

ruby - 为什么 Parslet(在 Ruby 中)在解析空字符串文字时返回一个空数组?

php - PHP解析/语法错误;以及如何解决它们

parsing - haskell 中的暂停点何时应该与额外的 "space"一起使用?

f# - 如何在 F# 中对 HttpMethod 进行模式匹配?