我无法找到一种方法来删除日期序数,同时在字符串中保留月份。
例如,我需要:
2015年6月12日
输出到:
2015年6月12日
我发现this post提到了如何操作,但这种形式的RegEx不适用于JavaScript。
答案 0 :(得分:2)
您需要创建两个捕获组,以选择月份(\d+)
及其序号(st|nd|rd|th)
。然后用$1
(包含月份数的第一个组)替换字符串。像这样:
var str = "June 12th, 2015";
str.replace(/(\d+)(st|nd|rd|th)/, "$1");
//=> June 12, 2015
答案 1 :(得分:1)
如果您想使用RegEx:
ord_day_pattern = re.compile(r"(?<=\d)(st|nd|rd|th)")
print re.compile(ord_day_pattern).sub("", mystring)
一衬垫:
print re.compile(r"(?<=\d)(st|nd|rd|th)").sub("", mystring)
答案 2 :(得分:0)
如果您不想担心各种序数,可以使用正则表达式匹配,
之前的任意2个字符。要使用的正则表达式是:
var regex= /[a-z]{2},/;
匹配2个字符后跟,
的字符串。
例如:
> var regex= /[a-z]{2},/;
> var dateStr = 'June 12th, 2015';
> dateStr.replace(regex, ',');
< 'June 12, 2015'