2016-10-06 10 views
0

私はJavaScriptの新機能です。の部分文字列で以下のテキストを修正しようとしました。javascriptで現在の名前を使用して名前を変更/変更する

例えば、 "ABCD_X_DD_text" "ABCD-X(DD)_text" この

は、私は私が欲しいものだ。この

var str = "ABCD_X_DD_cover"; 
var res = str.substring(0,4)+"-"+str.substring(5,6)+"("+str.substring(7,9)+")"+str.substring(9,15); 
// print to console 
console.log(res); 

を使用しました。しかし、問題はXとDDは数値(数字)の値です。彼らは変更可能です。ここで私のコードは動作を停止します。

"ABCD_XXX_DDDD_text"または "ABCD_X_DDD_text"とすることができます。

この状況でうまくいくいくつかのコードを提案できますか?

+1

正規表現を使用すると、減算する必要のある位置の数がわからないため、部分文字列ではできません。正規表現では、番号を検出して(長さに関係なく)、必要なものだけを置き換えることができます。 –

答えて

0

単語の分割を使用することができます。

var strArray = [ 
 
    "ABCD_X_DD_cover", 
 
    "ABCD_XX_DD_cover", 
 
    "ABCD_XXX_DD_cover" 
 
]; 
 

 
for(var i = 0; i < strArray.length; i++){ 
 
    var split = strArray[i].split("_"); 
 
    var str = split[0] + "-" + split[1] + "(" + split[2] + ") " + split[3]; 
 
    console.log(str); 
 
}

私は、文字列の配列を使用してサイクルのを使用していますが、あまりにも変数でそれを行うことができます。

+1

ありがとうございました。 –

関連する問題