VBScript String Functions
last modified April 4, 2025
VBScript provides a rich set of string manipulation functions that allow you to work with text data efficiently. These functions enable operations like searching, extracting, comparing, and modifying strings. This tutorial covers essential VBScript string functions with practical examples to demonstrate their usage.
VBScript String Functions Overview
String functions in VBScript operate on string data to perform various text processing tasks. Common operations include finding string length, searching for substrings, extracting parts of strings, and case conversion. These functions are essential for text processing in scripts.
VBScript strings are 1-based, meaning the first character is at position 1. Most string functions are case-insensitive by default but can be made case-sensitive. Understanding these functions is crucial for effective string manipulation.
Len Function
The Len
function returns the number of characters in a string. It's
useful for validating input length or processing strings character by character.
The function takes a single string argument and returns an integer.
Dim sampleText, textLength sampleText = "Hello, World!" textLength = Len(sampleText) WScript.Echo "The text '" & sampleText & "' contains " & textLength & " characters." ' Example with empty string WScript.Echo "Empty string length: " & Len("") ' Example with spaces WScript.Echo "Spaces length: " & Len(" ")
This example demonstrates the Len
function with different string
inputs. Notice how it counts all characters, including spaces and punctuation.
The empty string returns 0, and strings containing only spaces return the count
of spaces.
InStr Function
The InStr
function searches for a substring within another string
and returns its position. It can perform case-sensitive or case-insensitive
searches. The function takes up to four arguments: start position, string to
search, substring to find, and comparison method.
Dim mainText, searchText, position mainText = "The quick brown fox jumps over the lazy dog" searchText = "fox" position = InStr(1, mainText, searchText, vbTextCompare) WScript.Echo "'fox' found at position: " & position ' Case-sensitive search position = InStr(1, "Hello World", "world", vbBinaryCompare) WScript.Echo "Case-sensitive search result: " & position ' Substring not found position = InStr(1, mainText, "cat", vbTextCompare) WScript.Echo "Search for 'cat' returns: " & position
This example shows different search scenarios with InStr
. The first
search finds "fox" in the sentence. The second demonstrates case-sensitive
search that fails. The last shows the return value (0) when the substring isn't
found.
Mid Function
The Mid
function extracts a substring from a string, starting at a
specified position for a given length. It's useful for parsing fixed-format
strings or extracting specific parts. The function takes three arguments: the
string, start position, and length.
Dim fullText, extracted fullText = "VBScript String Functions" ' Extract "Script" extracted = Mid(fullText, 3, 6) WScript.Echo "Extracted: " & extracted ' Extract from position to end (omit length) extracted = Mid(fullText, 11) WScript.Echo "Rest of string: " & extracted ' Practical example - get file extension Dim fileName, extPos, extension fileName = "document.txt" extPos = InStrRev(fileName, ".") extension = Mid(fileName, extPos + 1) WScript.Echo "File extension: " & extension
This example demonstrates various uses of Mid
. The first extracts a
specific portion. The second shows how omitting the length returns the remainder
of the string. The practical example combines InStrRev
with
Mid
to extract a file extension.
Replace Function
The Replace
function substitutes all occurrences of a substring
with another string. It's powerful for text transformations and cleanup. The
function takes three required arguments: the string, substring to replace, and
replacement text, plus optional count and comparison arguments.
Dim originalText, modifiedText originalText = "I like apples, apples are my favorite fruit." ' Replace all occurrences modifiedText = Replace(originalText, "apples", "oranges") WScript.Echo modifiedText ' Replace first occurrence only modifiedText = Replace(originalText, "apples", "oranges", 1, 1) WScript.Echo "First replacement: " & modifiedText ' Case-sensitive replacement modifiedText = Replace("Hello World", "hello", "Hi", 1, , vbBinaryCompare) WScript.Echo "Case-sensitive replace: " & modifiedText
This example shows different replacement scenarios. The first replaces all occurrences. The second demonstrates limiting replacements. The last shows a case-sensitive replacement that fails because the case doesn't match.
String Manipulation with UCase and LCase
The UCase
and LCase
functions convert strings to
uppercase and lowercase respectively. These are useful for case normalization
before comparisons or for formatting output. Both functions take a single string
argument.
Dim mixedCase, upperCase, lowerCase mixedCase = "VBScript String Functions" upperCase = UCase(mixedCase) lowerCase = LCase(mixedCase) WScript.Echo "Original: " & mixedCase WScript.Echo "Uppercase: " & upperCase WScript.Echo "Lowercase: " & lowerCase ' Practical example - case-insensitive comparison Dim userInput = "YES" If UCase(userInput) = "YES" Then WScript.Echo "User agreed" Else WScript.Echo "User did not agree" End If
This example demonstrates basic case conversion and a practical use case for case-insensitive comparison. The comparison example shows how to normalize user input before checking its value, making the check case-insensitive.
Source
VBScript String Functions Documentation
In this article, we have explored the essential string functions in VBScript, covering operations from basic length checks to advanced search and replace. These functions form the foundation of text processing in VBScript. With these tools, you can effectively manipulate and analyze string data in your scripts.
Author
List all VBScript tutorials.