java - 多个分隔符的正则表达式

标签 java regex csv parsing logging

我有日志文件。我需要解析它。第 4 到 5 列(SETv5.CacheDB 和删除 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 之前)"

最佳答案

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

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

关于java - 多个分隔符的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61346367/

相关文章:

java - Java join() 方法的问题

java - Hibernate标准加载对象,对象会变得持久化吗?

php - 正则表达式删除字符串中三个或更少字符单词的第一个字符

JavaScript 剥离页面的 URL

Ruby:读取两个文件

python - 如何将数据添加到 CSV 文件的末尾 (Python)

java - 2.2和4.1.2 SimpleDateFormat的区别?

java - 选择 Spinner Item 来更改 TextView 中的文本?

java - 如何跟踪正则表达式中的灾难性回溯?

python - 如何按句子编号、句子(按 '|' 分割)在 CSV 中写入文件?