Javascript 如何删除日期序号(st、nd、rd、th)
我无法找到一种方法来删除日期序号,同时将月份保留在字符串中 例如,我需要: 2015年6月12日 输出到: 2015年6月12日Javascript 如何删除日期序号(st、nd、rd、th),javascript,regex,Javascript,Regex,我无法找到一种方法来删除日期序号,同时将月份保留在字符串中 例如,我需要: 2015年6月12日 输出到: 2015年6月12日 我发现它提到了如何做,但这种形式的正则表达式不适用于JavaScript。您需要创建两个捕获组,以选择月数(\d+)及其序号(st | nd | rd | th)。然后将字符串替换为$1(第一组包含月数)。大概是这样的: var str = "June 12th, 2015"; str.replace(/(\d+)(st|nd|rd|th)/, "$1"); //=&
我发现它提到了如何做,但这种形式的正则表达式不适用于JavaScript。您需要创建两个捕获组,以选择月数
(\d+)
及其序号(st | nd | rd | th)
。然后将字符串替换为$1
(第一组包含月数)。大概是这样的:
var str = "June 12th, 2015";
str.replace(/(\d+)(st|nd|rd|th)/, "$1");
//=> June 12, 2015
如果您不想担心各种序号,可以使用正则表达式匹配
,
前面的任意2个字符。要使用的正则表达式是:
var regex= /[a-z]{2},/;
它匹配由2个字符组成的字符串,后跟一个,
例如:
> var regex= /[a-z]{2},/;
> var dateStr = 'June 12th, 2015';
> dateStr.replace(regex, ',');
< 'June 12, 2015'
var regex=/[a-z]{2},/;
>var dateStr=‘2015年6月12日’;
>dateStr.replace(regex,,);
<‘2015年6月12日’
如果要使用正则表达式:
ord_day_pattern = re.compile(r"(?<=\d)(st|nd|rd|th)")
print re.compile(ord_day_pattern).sub("", mystring)
ord|day|pattern=re.compile(r)(?您使用的是矩库吗?使用。替换(/(\d+)(:st | nd | rd | th)/,“$1”)
输入总是一个日期,还是可能是一个恰好包含日期的整个句子?
print re.compile(r"(?<=\d)(st|nd|rd|th)").sub("", mystring)