广告
返回顶部
首页 > 资讯 > 后端开发 > Python >java如何从不规则的字符串中截取出日期
  • 507
分享到

java如何从不规则的字符串中截取出日期

2024-04-02 19:04:59 507人浏览 泡泡鱼

Python 官方文档:入门教程 => 点击学习

摘要

目录从不规则的字符串中截取出日期代码没有升级的输出结果将yyyy/MM/dd形式的不规则日期转换成规则形式代码如下从不规则的字符串中截取出日期 最近在项目中需要远程调接口,从Stri

从不规则的字符串中截取出日期

最近在项目中需要远程调接口,从String字符串中截取出日期,想了好久,最后用java8新特性,解决了,java8,还是比较好用。

代码

获取到的字符串,例如:

焦化化产车间四期出水(测试排口),2019/10/19 10:00:00,pH平均值 超标,值:5.00

炼焦一车间焦炉推焦除尘(测试排口)2019/7/14 14:00:00,二氧化硫折算平均值 超标,值:51.27

升级版本的字符串:

某某公司的测试,2018年08月27日03:00,当日NOX小时浓度超标3%以上已达4次。

某某公司测试数据出铁场除尘(钢板),2017年11月18日14:23到2019年11月21日15:13,离线已达90小时"


 				 // 截取时间处理 -- java8
				//content是获取的字符串
                    List<String> lists = Collections.singletonList(content);
                    String beginDate = lists.stream().map(e -> {
                        int lastIndexOf = e.lastIndexOf(":00");
                        int indexOf = e.indexOf(")");
                        String substring = e.substring(indexOf + 1, lastIndexOf + 3);
                        String trim = substring.replace(",", "").trim();
                        return trim;
                    }).findFirst().orElse(null);

 					 
                    List<String> lists = Collections.singletonList(content);
                    String beginDate = lists.stream().map(e -> {
                        int lastIndexOf;
                        int indexOf;
                        String trim;
                        lastIndexOf = e.lastIndexOf("到");
                        if (lastIndexOf == -1) {
                            lastIndexOf = e.lastIndexOf(":00");
                            if (lastIndexOf == -1) {// 防止不规则的字符串时间报错,至为空
                                return "";
                            }
                            indexOf = e.indexOf(",");
                            trim = e.substring(indexOf + 1, lastIndexOf + 3);
                        } else {
                            indexOf = e.indexOf(",");
                            String substring = e.substring(indexOf + 1, lastIndexOf);
                            trim = substring.replace(",", "").trim();
                        }
                        return trim;
                    }).findFirst().orElse(null);
                    String b = beginDate.replaceAll("[年,月]", "-");
                    // 至为空相关处理 -- 三目运算符 resultDto是自定义的实体
                    resultDto.setBeginDate(b.equals("") ? null : b);

注意substring()包左不包右,字符串中的标点为中文,这点需要注意

没有升级的输出结果

在这里插入图片描述

将yyyy/MM/dd形式的不规则日期转换成规则形式

例如:

2019/7/2 转换成 2019/07/02

代码如下


public static String toDate(String str) {
    String pattern = "\\d{4}\\/\\d{1,2}\\/\\d{1,2}";
    if (str != null && Pattern.matches(pattern, str)) {
        String[] date = StringUtils.split(str, "\\/");
        Calendar c1 = Calendar.getInstance();
        c1.set(Integer.parseInt(date[0]), Integer.parseInt(date[1]) - 1, Integer.parseInt(date[2]));
        
        SimpleDateFORMat sdf = new SimpleDateFormat("yyyy/MM/dd");
        return sdf.format(c1.getTime());
    }
    return null;
}

\\d{4}\\/\\d{1,2}\\/\\d{1,2}:在java中\\ 表示一个正则表达式的反斜杠,\\/表示斜杠的转义,\\\\表示一个普通的反斜杠。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。

--结束END--

本文标题: java如何从不规则的字符串中截取出日期

本文链接: https://www.lsjlt.com/news/159958.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • java如何从不规则的字符串中截取出日期
    目录从不规则的字符串中截取出日期代码没有升级的输出结果将yyyy/MM/dd形式的不规则日期转换成规则形式代码如下从不规则的字符串中截取出日期 最近在项目中需要远程调接口,从Stri...
    99+
    2022-11-12
  • java怎么从不规则的字符串中截取出日期
    本篇内容介绍了“java怎么从不规则的字符串中截取出日期”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!从不规则的字符串中截取出日期最近在项目...
    99+
    2023-06-22
  • java如何从字符串中找出第一个不重复的字符
    这篇文章将为大家详细讲解有关java如何从字符串中找出第一个不重复的字符,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。如何从字符串中找出第一个不重复的字符比如说字符串“沉默王沉沉默二”,第一个不重复的字符...
    99+
    2023-06-27
  • java如何实现获取字符串中第一个出现不重复的字符
    比如:输入name输出n,输入teeter输出r,输入namename输出null具体实现代码如下:import java.util.Scanner; public class Main { public static void mai...
    99+
    2020-03-13
    java 获取 字符串 不重复 字符 第一个
  • java如何在字符串中获取不同的字符及其数量
    小编给大家分享一下java如何在字符串中获取不同的字符及其数量,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!如何在字符串中获取不同的字符及其数量这道题可以拆解为两个步骤,第一步,找出不同的字符,第二步,统计出它们的数量。好...
    99+
    2023-06-27
  • java 如何字符串中提取数字,这个方法真的很不错
    Java中提取字符串中的数字,可以使用正则表达式或非正则表达式的方法。 使用正则表达式 可以使用正则表达式"\d+"来匹配字符串中的数字,并使用Matcher和Pattern类实现。 import java.util.regex.Matc...
    99+
    2023-09-06
    spring
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作