改变
12-16-23-一些话-现在
至
12/16/23/some-words-now
谢谢!!非常感谢您的帮助。
如果前三个破折号之间的字符始终是数字,您可以这样做:
variable = variable.replace(/^(\d+)-(\d+)-(\d+)-/, "$1/$2/$3/");
如果它们可以是任意字符,那么您可以这样做:
variable = variable.replace(/^([^-]+)-([^-]+)-([^-]+)-/, "$1/$2/$3/");
工作演示:http: //jsfiddle.net/jfriend00/YySFh/
这应该可以解决问题:
'12-16-23-some-words-now'.replace(/^(\d+)-(\d+)-(\d+)-/g, '$1/$2/$3/');
前三个总是数字吗?
foo = foo.replace(/^(.*?)-(.*?)-(.*?)-(.*)$/, "$1/$2/$3/$4");
JSF中。
寻找:
^([^-]*)-([^-]*)-([^-]*)-(.*)
代替:
$1/$2/$3/$4
这个确切的结构可以像这样固定:
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);