2013-02-26 2 views
0

대괄호 안에있는 모든 것을 변수로 바꾸려면 문자열 도우미가 필요합니다. 자바 스크립트Regex를 사용하여 문자열을 배열 요소로 바꾸십시오. Jquery

"Hello, [0]".modify(["ABC"]) 

"Heelo, [0], This is [1]".modify(["ABC", "XYZ"]) 

"Heelo, [0], This is [1], Your email address is [2]".modify(["ABC", "XYZ", "[email protected]"]) 

그래서 기본적으로 수정하여() 배열을 적절한 indexs와 문자열을 대체합니다.

조언이 도움이 될 것입니다.

+2

http://stackoverflow.com/questions/610406 ​​/ javascript-equivalent-to-printf-string-format –

+0

예, 알고 있습니다, 루비에서 어떻게하는지. 그러나 우리는 어떻게 javascript에서 그것을 할 수 있습니까? –

+1

체크 아웃 this http://stackoverflow.com/questions/1038746/equivalent-of-string-format-in-jquery –

답변

0

모든 답변을 유용했다,

하지만 @PedrodelSol에서 제공하는 링크에서, 인 - 빌드 기능을 사용하고

"Hello {0}, This is {1}".format(["ABC", "XYZ"]) 
0
String.prototype.modify = function(arr) { 
    return this.replace(/\[(\d+)\]/g, function(c, m) { 
     return arr[m] === undefined ? c : arr[m]; 
    }); 
}; 

"Heelo, [0], This is [1]".modify(["ABC", "XYZ"]); 
// "Heelo, ABC, This is XYZ" 
0
String.prototype.modify = function() { 
    var s = arguments[0]; 
    for (var i = 0; i < arguments.length - 1; i++) {  
    var reg = new RegExp("\\[" + i + "\\]", "gm");    
    s = s.replace(reg, arguments[i + 1]); 
    } 
    return s; 
} 
관련 문제