Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/351.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 用于从包含以分隔符分隔的日期的字符串中删除.0的正则表达式模式_Java_Regex_Date - Fatal编程技术网

Java 用于从包含以分隔符分隔的日期的字符串中删除.0的正则表达式模式

Java 用于从包含以分隔符分隔的日期的字符串中删除.0的正则表达式模式,java,regex,date,Java,Regex,Date,我有一个字符串,看起来像这样: "2013-10-19 22:21:21#2013-10-23 16:17:19#2013-10-25 13:15:14.0#2013-10-19 08:11:34.0#2013-10-23 16:17:19#" 我需要从日期末尾删除.0。 i、 e.2013-10-25 13:15:14.0应该是2013-10-25 13:15:14 此..可能的正则表达式模式是什么?您可以使用: str = str.replaceAll("\\.0(?=#)", "");

我有一个字符串,看起来像这样:

"2013-10-19 22:21:21#2013-10-23 16:17:19#2013-10-25 13:15:14.0#2013-10-19 08:11:34.0#2013-10-23 16:17:19#"
我需要从日期末尾删除.0。 i、 e.
2013-10-25 13:15:14.0应该是2013-10-25 13:15:14

此..可能的正则表达式模式是什么?

您可以使用:

str = str.replaceAll("\\.0(?=#)", "");
这将用空字符串替换
.0
,如果它后面跟一个
#

这将删除出现在
#
之前或字符串末尾的
.0

str = str.replaceAll("\\.0(?=#|$)", "");
试试这个

str = str.replaceAll("(\\d{4}-\\d{2}-\\d{2} \\d{2}:\\d{2}:\\d{2})\\.\\d+", "$1");

如果没有
regex
,您可以执行以下操作

 String str="2013-10-19 22:21:21#2013-10-23 16:17:19#2013-10-25 13:15:14.0#2013-10-19 08:11:34.0#2013-10-23 16:17:19#";
   String[] dates=str.split("#");
   for(String i:dates){
       if(i.lastIndexOf('0')==(i.length()-1)){
           System.out.println(i.replaceAll(".0",""));
       }else {
           System.out.println(i);
       }
   }

如果这是你的字符串,里面没有其他数据,你可以使用一个简单的替换;不需要任何正则表达式:

String str = "2013-10-19 22:21:21#2013-10-23 16:17:19#2013-10-25 13:15:14.0#2013-10-19 08:11:34.0#2013-10-23 16:17:19#";
String res = str.replace(".0", "");
System.out.println(res);
输出:

2013-10-19 22:21:21#2013-10-23 16:17:19#2013-10-25 13:15:14#2013-10-19 08:11:34#2013-10-23 16:17:19# - See more at: http://ideone.com/WrDbqS#sthash.iQsWV8gp.dpuf

下次你应该发布你的尝试。我应该,我也应该。但这次我不知道如何处理…因此避免发布..你好..谢谢..但是如果我有一个#来结束字符串..如果没有预期的散列,这是不正确的,但是你的示例总是在
.0
之后有
,只是简单地替换
.0
有时可能会有风险,因为它可能会使一个数字
25.05
25.5
达成一致。但我的字符串可能/可能没有#每次..它实际上是一个分隔符。因此,对于仅1个条目,它不会出现。特别要求使用Regex或类似的东西…循环用法并不可取。宾果..就是这么简单..从未想过。。!!。我进入了正则表达式模式,事情开始失控。这本可以通过使用简单的字符串函数来解决的…哎呀@天使和恶魔这可能发生在我们最好的人身上,别担心:)