假设我有一个“11.23.13”形式的日期字符串,我想用“/”替换每个点,所以它看起来像“11/23/13”。
这是我的代码,但它无法正常工作,因为正则表达式会看到“。”并解释为匹配每个字符而不是新行。所以不是“11/23/13”,而是“////////”。
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>RegExMatchDot</title>
<script type="text/javascript">
var myDate = "11.23.13";
var myDateWithNewSeparator = myDate.replace(new RegExp(".", "g"), "/");
console.log("my date with new date separator is: ", myDateWithNewSeparator);
</script>
</head>
<body>
</body>
</html>
任何人都知道解决这个问题的方法吗?谢谢!
答案 0 :(得分:3)
您可以使用使用全局修饰符的正则表达式来定位所有句点,只需记住在句点中具有特殊含义的句点(正如您所经历的那样,它们匹配任何字符):
var myDate = "11.23.13";
var myDateWithNewSeparator = myDate.replace(/\./g, '/');
答案 1 :(得分:2)
在没有正则表达式的情况下快速替换这样的方法是使用split和join,所以它将是:
myDate.split('.').join('/');
信不信由你过去比替换要快,但现在不再了,无论如何我会学习正则表达式,但是对于微小的替换,这已经足够了。