2

改变

12-16-23-一些话-现在

12/16/23/some-words-now

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

4

5 回答 5

3

如果前三个破折号之间的字符始终是数字,您可以这样做:

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

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

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

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

于 2012-08-31T21:39:19.950 回答
2

这应该可以解决问题:

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

前三个总是数字吗?

于 2012-08-31T21:40:49.877 回答
2
foo = foo.replace(/^(.*?)-(.*?)-(.*?)-(.*)$/, "$1/$2/$3/$4");

JSF中。

于 2012-08-31T21:42:03.607 回答
1

寻找:

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

代替:

$1/$2/$3/$4
于 2012-08-31T21:43:23.440 回答
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);
于 2012-08-31T21:44:19.920 回答