如何在javascript字符串中替换前三个连字符?

时间:2012-08-31 21:37:42

标签: javascript regex

更改

23年12月16日 - 一些字-现在

一十六分之一十二/ 23 /一些字-现在

谢谢!非常感谢您的帮助。

5 个答案:

答案 0 :(得分:3)

如果前三个短划线之间的字符始终是数字,则可以这样做:

variable = variable.replace(/^(\d+)-(\d+)-(\d+)-/, "$1/$2/$3/");

如果它们可以是任意字符,那么你可以这样做:

variable = variable.replace(/^([^-]+)-([^-]+)-([^-]+)-/, "$1/$2/$3/");

工作演示:http://jsfiddle.net/jfriend00/YySFh/

答案 1 :(得分:2)

这应该可以解决问题:

'12-16-23-some-words-now'.replace(/^(\d+)-(\d+)-(\d+)-/g, '$1/$2/$3/');

前三个总是数字吗?

答案 2 :(得分:2)

foo = foo.replace(/^(.*?)-(.*?)-(.*?)-(.*)$/, "$1/$2/$3/$4");

JSFiddle

答案 3 :(得分:1)

查找

^([^-]*)-([^-]*)-([^-]*)-(.*)

替换:

$1/$2/$3/$4

答案 4 :(得分:0)

这个确切的结构可以修改如下:

var string = "12-16-23-some-words-now";
var hyphensFormatted = string.substr(0, 9).replace(/-/g, "/");
var formattedString = hyphensFormatted + string.substr(9, string.length);
console.log(formattedString);