split切割.号的字符串

excel中的日期为下图所示,利用io读取到后,调试发现值为“12.10.2019”,需要将其转换为“2019-10-12”

 

用split方法以.号切割时,需要用转移字符“\\.”,代码如下

复制代码
 1 package com.alphajuns.test;
 2 
 3 import org.junit.Test;
 4 
 5 /**
 6  * @ClassName SplitMethodTest
 7  * @Description
 8  * @Author AlphaJunS
 9  * @Date 2019/10/31 21:49
10  * @Version V1.0
11  **/
12 public class SplitMethodTest {
13 
14     @Test
15     public void test() {
16         // excel中日期为2019/10/12,利用io流读入获取为"12.10.2019"
17         String str = "12.10.2019";
18         System.out.println("转换前:" + str);
19         // 以.号进行切割,需要使用转译字符
20         String[] strArray = split(str);
21         String[] strArr = arrayReverse(strArray);
22         String dateStr = convertStrArrayToDateStr(strArr);
23         System.out.println("转换后的日期字符串:" + dateStr);
24     }
25 
26     /**
27      * @description 切割字符串
28      * @author AlphaJunS
29      * @date 2019/10/31
30      * @param [str]
31      * @return void
32      */
33     private String[] split(String str) {
34         String[] split = str.split("\\.");
35         return split;
36     }
37 
38     /**
39      * @description 字符串数组倒序
40      * @author AlphaJunS
41      * @date 2019/10/31
42      * @param [strArray]
43      * @return java.lang.String[]
44      */
45     public String[] arrayReverse(String[] strArray) {
46         int length = strArray.length;
47         String temp = "";
48         // 倒序
49         for (int i = 0; i < length/2; i++) {
50             temp = strArray[i];
51             strArray[i] = strArray[length - 1 - i];
52             strArray[length - 1 - i] = temp;
53         }
54         return strArray;
55     }
56 
57     /**
58      * @description 字符串数组转日期字符串
59      * @author AlphaJunS
60      * @date 2019/10/31
61      * @param [strArr]
62      * @return java.lang.String
63      */
64     private String convertStrArrayToDateStr(String[] strArr) {
65         String dateStr = "";
66         int length = strArr.length;
67         for (int i = 0; i < length; i++) {
68             if (i != (length - 1)) {
69                 dateStr += strArr[i] + "-";
70             } else {
71                 dateStr += strArr[i];
72             }
73         }
74         return dateStr;
75     }
76 }
复制代码

结果如下:

 

 若还要将字符串日期转换为日期,可用如下代码:

        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
        try {
            Date date = sdf.parse(dateStr);
            System.out.println("日期:" + date);
        } catch (ParseException e) {
            e.printStackTrace();
        }   

 

posted @   AlphaJunS  阅读(759)  评论(0编辑  收藏  举报
编辑推荐:
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
历史上的今天:
2018-10-31 异常
2018-10-31 视图的操作
点击右上角即可分享
微信分享提示