Introduction
In this article, I have compiled some common String operations that we encounter while
working with the String class. In Part I, I have covered 15 common string operations. In the
next article, I will continue this article and cover 15 more.
All the samples are based on two pre-declared string variables: strOriginal and strModified.
Dim strOriginal As String = "These functions will come handy"
Dim strModified As String = String.Empt
1. Iterate a String
You can use the ‘for’ loop or ‘foreach’ loop to iterate through a string. The ‘for’ loop gives
you more flexibility over the iteration.
For i As Integer = 0 To strOriginal.Length - 1
MessageBox.Show(strOriginal(i).ToString())
Next i
Or
For Each c As Char In strOriginal
MessageBox.Show(c.ToString())
Next c
2. Split a String
You can split strings using String.Split(). The method takes an array of chars, representing
characters to be used as delimiters. In this example, we will be splitting the strOriginal string
using ‘space’ as delimiter.
Dim delim As Char() = {" "c}
Dim strArr As String() = strOriginal.Split(delim)
For Each s As String In strArr
MessageBox.Show(s)
Next s
3. Extract SubStrings from a String
The String.Substring() retrieves a substring from a string starting from a specified character
position. You can also specify the length.
' only starting position specified
strModified = strOriginal.Substring(25)
MessageBox.Show(strModified)
' starting position and length of string to be extracted specified
strModified = strOriginal.Substring(20, 3)
MessageBox.Show(strModified)
4. Create a String array
There are different ways to create a Single Dimensional and Multi Dimensional String arrays.
Let us explore some of them:
' Single Dimensional String Array
Dim strArr As String() = New String(2) { "string 1", "string 2", "string 3"}
' Omit Size of Array
Dim strArr1 As String() = New String() { "string 1", "string 2", "string 3" }
' Omit new keyword
Dim strArr2 As String() = {"string 1", "string 2", "string 3"}
' Multi Dimensional String Array
Dim strArr3 As String(,) = New String(1, 1) { { "string 1", "string 2" }, { "string 3", "string
4" } }
' Omit Size of Array
Dim strArr4 As String(,) = New String(, ) { { "string 1", "string 2" }, { "string 3", "string 4"
} }
' Omit new keyword
Dim strArr5 As String(,) = { { "string 1", "string 2" }, { "string 3", "string 4" } }
5. Reverse a String
One of the simplest ways to reverse a string is to use the StrReverse() function. To use it in
C#, you need to add a reference to the Microsoft.VisualBasic dll.
Dim strModified As String = StrReverse(strOriginal)
MsgBox(strModified)
6. Compare Two Strings
You can use the String.Compare() to compare two strings. The third parameter is a Boolean
parameter that determines if the search is case sensitive(false) or not(true).
If (String.Compare(strOriginal, strModified, False)) < 0 Then
MessageBox.Show("strOriginal is less than strOriginal1")
ElseIf (String.Compare(strOriginal, strModified, False)) > 0 Then
MessageBox.Show("strOriginal is more than strOriginal1")
ElseIf (String.Compare(strOriginal, strModified, False)) = 0 Then
MessageBox.Show("Both strings are equal")
End If
7. Convert a String to Byte[] (Byte Array)
The Encoding.GetBytes() encodes all the characters into a sequence of bytes. The method
contains six overloads out of which we will be using the Encoding.GetBytes(String).
Dim b As Byte() = Encoding.Unicode.GetBytes(strOriginal)
8. Convert Byte[] to String
he Encoding.GetString() decodes a sequence of bytes into a string.
' Assuming you have a Byte Array byte[] b
strModified = Encoding.Unicode.GetString(b)
9. Convert a String to Char[](Char Array)
To convert a String to Char Array, use the String.ToCharArray() which copies the characters
in the string to a Unicode character array.
Dim chArr As Char() = strOriginal.ToCharArray()
10. Convert a Char[] to String
A convenient way to convert a character array to string is to use the String constructor
which accepts a character array
strModified = New String(chArr)
11. Test if String is null or Zero Length
A simple way to test if a string is null or empty is to use the String.IsNullOrEmpty(string)
which returns a Boolean value.
Dim check As Boolean = String.IsNullOrEmpty(strOriginal)
12. Convert the Case of a String
The String class contains methods to convert a string to lower and upper cases. However, it
lacks a method to convert a string to Proper Case/Title Case. Hence we will use the ‘TextInfo’
class to do the same.
Dim cultureInfo As System.Globalization.CultureInfo =
System.Threading.Thread.CurrentThread.CurrentCulture
Dim textInfo As System.Globalization.TextInfo = cultureInfo.TextInfo
' Lower Case
MessageBox.Show(textInfo.ToLower(strOriginal))
' Upper Case
MessageBox.Show(textInfo.ToUpper(strOriginal))
' Proper Case
MessageBox.Show(textInfo.ToTitleCase(strOriginal))
13. Count the occurrences of words in a Strin
You can adopt multiple ways to find the occurrence of a word in a string. One of them is to
use the String.IndexOf() which is one of the ways of finding the occurrence of the word. In
VB.NET, use String.InStr().
Another simple way is to use ‘Count’ property of the Regex.Matches() collection. However
this method is slow. We will explore both these methods in the sample.
' Using IndexOf
Dim strt As Integer = 0
Dim cnt As Integer = -1
Dim idx As Integer = -1
strOriginal = "She sells sea shells on the sea shore"
Dim srchString As String = "sea"
Do While strt <> -1
strt = strOriginal.IndexOf(srchString, idx + 1)
cnt += 1
idx = strt
Loop
MessageBox.Show(srchString & " occurs " & cnt & " times")
' Using Regular Expression
Dim rex As System.Text.RegularExpressions.Regex = New
System.Text.RegularExpressions.Regex(srchString)
Dim count As Integer = rex.Matches(strOriginal).Count
MessageBox.Show(srchString & " occurs " & count & " times")
14. Insert Characters inside a String
The String.Insert() inserts text at a specified index location of a string. You can insert either
a character or a string at a given index location. For eg: We will insert a string “very” at index
26 in string strOriginal.
strModified = strOriginal.Insert(26, "very ")
MessageBox.Show(strModified)
15. Replace characters in a String
The String.Replace() removes characters from a string and replaces them with a new
character or string.
strModified = strOriginal.Replace("come handy", "be useful")
MessageBox.Show(strModified)
So those were 15 common string operations that we saw in this article. In the next article,
we will explore some more string operations that are used commonly in projects. I hope this
article was useful and I thank you for viewing it.
This attachment is hidden for guests. Please log in or register to see it.