java - 忽略令牌正则表达式中的字符串
问题描述
我试图解析日志文件并且很难尝试忽略令牌中的字符串。
我试图解析的部分日志:
[Wed Mar 06 20:56:27.121877 2019]
我想为日期创建一个令牌,在该日期应该忽略第二年之后的任何值,如下所示:
Mar 06 20:56:27 2019
我的正则表达式字符串现在看起来像这样:
\[\S+ (\S+ \d+ \d+:\d+:\d+)
解决方案
你可以这样做:
public class MyClass {
public static void main(String args[]) {
String test = "[Wed Mar 06 20:56:27.121877 2019]";
String[] arr = test.split(" ");
System.out.println(arr[1]+" "+arr[2]+" "+arr[3].substring(0,8)+" "+arr[4].substring(0,4));
}
}
输出:
2019 年 3 月 6 日 20:56:27
推荐阅读
- c# - 如果已设置样式,如何覆盖 WPF 子控件样式?
- python - 将python列表项从字符串转换为数字的最佳方法
- c# - 下拉菜单的抓取和渲染值 (React, C#)
- html - 使用 Tailwind CSS 单击按钮时,从屏幕左侧制作侧边栏滑动
- postgresql - pgadmin4 无法连接到 postgresql 14
- active-directory - Active Directory 安全组控制和组策略 (OU) 限制和权限
- c++ - 如何用多个单词输入一个字符?
- hadoop - 如何使用HIVE获取一个包含多个字段的文本文件,并根据月份和年份将其拆分为多个文件,然后将这些文件放在目录中
- c++ - 在 C++ 中搜索与另一个向量共享元素的对象的向量时,如何使 for 循环工作?
- scala - 如何在 Akka Http 中拆分路由