2

変化する

12-16-23-いくつかの言葉-今

12/16/23/some-words-今

ありがとう!!あなたの助けは大歓迎です。

4

5 に答える 5

3

最初の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/');

最初の3つは常に数字ですか?

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

JSFiddle

于 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 に答える