Using .NET Interops in VBScript - More with StringBuilder
(Page 4 of 4 )
There's plenty more you can do with the StringBuilder object as well. Let's take a look at some other string manipulations.
sb.Replace "loneliest", "saddest"
sb.Replace "happiest", "luckiest"
WScript.Echo sb.ToString()
Here I'm using the Replace method to replace one substring with another. This is quite similar to VBScript's own Replace function.
sb.Remove 7, 8
sb.Remove 21, 9
WScript.Echo sb.ToString()
You can also use the StringBuilder object's Remove method to remove sequences of characters. The first parameter is a starting index and the second is the number of characters to remove. I've used it here to remove the words "saddest" and "luckiest", respectively.
sb.Insert_2 7, "saddest "
sb.Insert_2 30, "luckiest "
WScript.Echo sb.ToString()
Not too worry, though. We can just as easily add them back in with the Insert method. Here again we have an overloaded method. The second variation of the Insert method allows us to provide an integer-starting index and a string to insert.
WScript.Echo sb.Length
Having trouble keeping track of how long your string is? The StringBuilder object also exposes a few properties that may come in handy. One of these is the Length property, which returns an integer representing the length of the string.
Okay, one more quick .NET bite before I go. One very lacking feature in VBScript is its ability to produce random numbers. It's not very efficient, and quite honestly, not very random. Its seeded values make it difficult to produce anything close to a truly random number.
Set objRandom = CreateObject("System.Random")
WScript.Echo objRandom.Next_2(1,100)
Enter .NET to the rescue. This example shows you how to produce random integers between 1 and 100. The second overloaded Next method allows you to specify a lower and upper limit, respectively.
Well, that's it for me, folks. I'm out of space in this article. You may or may not have a use for any of the code in this article, but at least now you know that .NET is not completely unavailable to you for scripting. Until next time, keep coding!
| DISCLAIMER: The content provided in this article is not warranted or guaranteed by Developer Shed, Inc. The content provided is intended for entertainment and/or educational purposes in order to introduce to the reader key ideas, concepts, and/or product reviews. As such it is incumbent upon the reader to employ real-world tactics for security and implementation of best practices. We are not liable for any negative consequences that may result from implementing any information covered in our articles or tutorials. If this is a hardware review, it is not recommended to open and/or modify your hardware. |