JavaScript – String Builder Plugin
Atlanta Appliance Repair . washington dc car service . Atlanta plumber . In continuing with my theme of porting useful C# functionality to JavaScript I have desided to add C#’s StringBuilder class to JavaScript in the form of String.builder.When simply concatenating strings the string builder class may not be of much use since a simple += will suffice but when you need to go deeper and manipulate that concatenated string then the string builder really shines.The string builder class has 6 methods to work with.
| Method Name | Method Use |
|---|---|
| append(string) | adds string to the end of the string |
| clear() | clears the internal buffer |
| insert(index, string) | inserts string into the given buffer index overriding the existing value |
| remove(string) remove(index, length) |
this method is overloaded 1 of 2: removes all occurances of string 2 of 2: removes stating at index and removes length number of indexes |
| replace(findThis, replaceWith) | replaces all occurances of findThis with replaceWith |
| toString() | returns the concatentated string |
Below is the source code for this class and a simple example of it’s use.JavaScript
if(!String.builder){String.builder = function(){var buffer = [];this.append = function(str){buffer.push(str);}this.clear = function(){buffer = null;buffer = [];}this.insert = function(index, str){if(buffer[index]){buffer[index] = str;}else{return false;}}this.replace = function(find, replace){for(var i=0;i<buffer.length;i++){var exp = new RegExp(find,'gm');buffer[i] = buffer[i].replace(exp,replace);}}this.remove = function(){if(typeof arguments[0] == "string"){for(var i=0;i<buffer.length;i++){if(arguments[0] == buffer[i]){buffer.splice(i, 1);}}}else{var index = arguments[0];var length = (arguments.length > 1) ? arguments[1] : 1;buffer.splice(index,length);}}this.toString = function(){var str = "";for(var i=0;i<buffer.length;i++){str += buffer[i];}return str;}}}
HTML
<html><head><title></title><script src="StringBuilder.js"></script><script>var sb = new String.builder();sb.append("hi");sb.append("there");sb.append(",");sb.append(" ");sb.append("how");sb.append("are");sb.append("you");sb.append("?");//sb.clear();//sb.insert(1," there");//sb.replace("how","how ");//sb.remove("how");//sb.remove(4,3);alert(sb.toString());</script></head><body></body></html>
RSS ?

3 comments on this post
in the .toString method why not just:
return buffer.join(“”);
executes much quicker
Are you aware that stringbuilder already exists in the ASP.NET AJAX client side libraries?
http://ajax.asp.net/docs/ClientReference/Sys/StringBuilderClass/default.aspx
As surprised as you might be, as a .Net developer I have just about zero experience with the ASP.Net AJAX framework. I generally use Mootools which is missing the string builder class as well as String.Format which I posted earlier. I also use the AjaxManager from Telerik.