【问题标题】:Regex for multiple delimeter多个分隔符的正则表达式
【发布时间】:2020-08-04 08:48:00
【问题描述】:

我有日志文件。我需要解析它。在 4 到 5 列之间(SETv5.CacheDB 和 Remove 4...)“制表符”,在其他情况下为空格。 如果我使用“\s+”,那么最后一列用空格分隔。我怎样才能避免这种情况?

发件人:

17.11.2014 03:00:00.832 调试:SETv5.CacheDB 删除 4 个旧折扣(11 月 15 日星期六 00:00:00 之前)

收件人:

"17.11.2014","03:00:00.832","DEBUG:","SETv5.CacheDB","移除 4 个旧折扣(11 月 15 日星期六 00:00:00 之前)"

【问题讨论】:

  • "\t"分割,然后用\s+分割第一个块。

标签: java regex csv parsing logging


【解决方案1】:

我认为最简单的方法是使用带有限制的String.split(),以防止该模式的应用超出您的预期。

String[] columns = logString.split( "\\s+", 5 );

【讨论】:

  • 我忘记了限制。这就是我需要的。谢谢!
猜你喜欢
  • 2013-06-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-09-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多