Jamie Balfour

Welcome to my personal website.

Find out more about me, my personal projects, reviews, courses and much more here.

Part 3.5Strings in VB.NET

Part 3.5Strings in VB.NET

One of the most used types in VB.NET is the String type.

This article will look at the String type and what it actually can do.

Substring

A substring is a string within a string. Any string that has more than 0 character can have a substring within it.

The following is an example of this.

Jim moved house today

Within this sample, there are multiple different substrings (in fact, about 5.84258701838598 x 1027 substrings) in this piece of text. Some examples include "Jim moved", "Jim", "house", "house today" and "Jim mo". A substring can of any length from 0 to the length of the string.

In VB.NET, the Substring function is called from a String type as shown below:

VB.NET
Dim myString As String = "Hello world"
myString = myString.Substring(3, 2)
MsgBox(myString)
		

This will display a message box with the content "lo " (as VB.NET starts enumerating characters at 0, every character is therefore (n-1)th position in VB.NET counting, so H is the 0th character).

Trim

The trim method is used to remove any characters from the start and end of a string. For instance, if the Trim function with the parameter "-" is applied to "---Jack is a dull boy---", the result will look like: "Jack is a dull boy". This is a particularly useful way of removing white space at the start of a string.

Trim can also accept an array of values to remove.

VB.NET
Dim myString As String = "***+My name is Jack+++"
Dim trims[] As Char = {"*", "+"}
myString = myString.Trim(trims)
MsgBox(myString)
		

The end result will be "My name is Jack".

TrimStart

There is also a TrimStart function available on the String type. These work on either side of the string rather than both at the same time.

VB.NET
Dim myString As String = "***+My name is Jack+++"
Dim trims[] As Char = {"*", "+"}
myString = myString.TrimStart(trims)
MsgBox(myString)
		

This example will output "My name is Jack+++".

TrimEnd

The opposite to TrimStart is obviously TrimEnd which will remove from the opposite side.

VB.NET
Dim myString As String = "***+My name is Jack+++"
Dim trims[] As Char = {"*", "+"}
myString = myString.TrimEnd(trims)
MsgBox(myString)
		

The output from this program will be "***+My name is Jack".

Contains

The Contains function returns a Boolean variable to state whether a string of text contains another, that is A ⊂ B. If this is the case it returns True otherwise it returns False.

The method is particularly useful when for performing a find and replace method as it can confirm the presense of a character or string within a string.

For the following string, the result will be true.

VB.NET
Dim myString As String = "My name is Jack"
MsgBox(myString.Contains("Jack"))
		

Length

The Length method is perhaps one of the most useful methods in the whole language, not just for the String type.

As a String is an array of the Char type, it can be used to obtain how many Chars are within it.

VB.NET
Dim myString As String = "My name is Jack"
Dim length As Integer = myString.Length()
MsgBox(length)
		

Concatenating strings

VB.NET has a very simple set of concatenation characters. The & and + symbols can both be used to join two or more strings together. It takes order of precedence when returning the concatenated string.

VB.NET
Dim myString1 As String = "My name is Jack"
Dim myString1 As String = " and I am 21 years old."
MsgBox(myString1 & myString2)
		
VB.NET
Dim myString1 As String = "My name is Jack"
Dim myString2 As String = " and I am 21 years old."
MsgBox(myString1 + myString2)
		

There is another option for this however. The third option for concatenating two strings uses a method from within the string type. It is simply called Concat

VB.NET
Dim myString1 As String = "My name is Jack"
Dim myString2 As String = " and I am 21 years old."
MsgBox(myString1.Concat(myString2))
		
The Concat method is actually a function with a return type of String. It does not do anything to the original string.

Changing the case of a string

Changing the case of a string can be useful not only for the sake of formatting a string but also to compare two strings for equality.

Lowercase

The LCase function is given a string as a parameter and convert it to the lowercase equivelant.

VB.NET
Dim myString As String = "My name is Jack"
myString = LCase(myString)
		

Uppercase

The UCase function is the same as the lowercase version except it transforms the text to the uppercase version.

VB.NET
Dim myString As String = "My name is Jack"
myString = UCase(myString)
		

Comparing strings using case

Strings can be compared for absolute equality or they can be compared for their literal equality. For absolute equality: "Hello""hello" but for literal equality: "Hello" = "hello". If trying to compare by literal equality the case must be normalised. The following sample shows how to create a function that does this.

VB.NET
Public Function literalEquality(ByVal string1 As String, ByVal string2 As String) As Boolean
	Return LCase(string1) = LCase(string2)
End Function
		

By applying the parameters "Hello" and "hello" will return true.

Feedback 👍
Comments are sent via email to me.