如何修剪图章字符串值

时间:2018-10-09 17:47:32

标签: javascript regex string lodash

我的代码库中有一个要求,如果上面有时区,我需要修剪时间戳。

我可能会收到的时间戳示例:

  

“ 2017/08/23 12:00:00 Z”或“ 2017/08/23 12:00:00 +05:30”

我想要的输出应该是:

  

“ 2017/08/23 12:00:00”或“ 2017/08/23 12:00:00”

3 个答案:

答案 0 :(得分:0)

使用lastIndexOf方法找到最后一个空格,然后对其进行子串处理。

var date = "2017/08/23 12:00:00 Z";
var date1 = "2017/08/23 12:00:00 +05:30";


console.log(date.substring(0, date.lastIndexOf(" ")));
console.log(date1.substring(0, date.lastIndexOf(" ")));

答案 1 :(得分:0)

您可以执行以下操作:

var d1 = "2017/08/23 12:00:00 Z"
var d2 = "2017/08/23 12:00:00 +05:30"
var d3 = "2017/08/23 12:00:00"

const getDatePart = d => d.split(' ').reduce((r,c,i) => i <= 1 ? `${r} ${c}` : r)

console.log(getDatePart(d1))
console.log(getDatePart(d2))
console.log(getDatePart(d3))

它将通过String.splitreduce完成工作。它将在日期和时间之间用一个' '覆盖日期字符串。

答案 2 :(得分:0)

假设您一次处理一个日期时间,则可以使用此正则表达式:

/(?<=\").*?(?:(?=Z)|(?=[+-]))/

它回头查找双精度quote,然后匹配零个或多个字符(非贪婪),然后期待一个'Z'或加[+]或减号[-]