JavaScript String.format & StringBuilder

18 בפברואר 2008

תגיות: ,
תגובה אחת

// String.Format
String.format = 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;
}

String.prototype.format = function() {     
    var s = this;
        for (var i = 0;i<arguments.length;i++){         
            var reg = new RegExp("\\{"+i+"\\}","gm");                         
            s = s.replace(reg,arguments[i]);
        }

        return s;  
}

// StringBuilder
function StringBuilder(value) {
        this.strings = new Array("");
        this.append(value);
}

// Appends the given value to the end of this instance.
StringBuilder.prototype.append = function (value) {
        if (value) { this.strings.push(value); }
}

// Clears the string buffer
StringBuilder.prototype.clear = function () {
        this.strings.length = 1;
}

// Converts this instance to a String.
StringBuilder.prototype.toString = function () {
        return this.strings.join("");
}

// Create a StringBuilder
var output = new StringBuilder();

// Append some text
output.append("Lorem ipsum dolor sit amet, consectetuer adipiscing elit, ");
output.append("sed diem nonummy nibh euismod tincidunt ut lacreet dolore ");
output.append("magna aliguam erat volutpat. ");

var content = "World!!!";

output.append(String.format("{0}{1}","Hello ",content));

// Get the full string value
document.getElementById("context").innerHTML = output.toString();
הוסף תגובה
facebook linkedin twitter email

כתיבת תגובה

האימייל לא יוצג באתר. שדות החובה מסומנים *

תגובה אחת

  1. Moshe L19 בפברואר 2008 ב 17:12

    There is a benchmark for your StringBuilder vs str+= ?

    הגב