更改
23年12月16日 - 一些字-现在
到
一十六分之一十二/ 23 /一些字-现在
谢谢!非常感谢您的帮助。
答案 0 :(得分:3)
如果前三个短划线之间的字符始终是数字,则可以这样做:
variable = variable.replace(/^(\d+)-(\d+)-(\d+)-/, "$1/$2/$3/");
如果它们可以是任意字符,那么你可以这样做:
variable = variable.replace(/^([^-]+)-([^-]+)-([^-]+)-/, "$1/$2/$3/");
答案 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");
答案 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);