VB.NET || How To Pad Center & Center Align A String Of Fixed Length Using VB.NET
The following is a module with functions which demonstrates how to pad center and center align a string of a fixed length using VB.NET.
The function demonstrated on this page center aligns the characters in a string by padding them on the left and right with a specified character, of a specified total length.
The returned string is padded with as many padding characters needed to reach a length of the specified total width.
The padding character is user defined, but if no padding character is specified, the string is padded using a whitespace (‘ ‘).
1. Pad Center
The example below demonstrates the use of ‘Utils.PadCenter‘ to center align a string of a fixed length.
In this example, the default padding character is used to pad the string, which is a whitespace (‘ ‘).
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
' Pad Center Imports Utils ' Declare string Dim original As String = "<-Kenneth->" ' Get padding width Dim width As Integer = 15 ' Display result Debug.Print("Original: '" & original & "'") Debug.Print("Pad Center: '" & original.PadCenter(width) & "'") Debug.Print("Pad Right: '" & original.PadRight(width) & "'") Debug.Print("Pad Left: '" & original.PadLeft(width) & "'") ' expected output: ' Original: '<-Kenneth->' ' Pad Center: ' <-Kenneth-> ' ' Pad Right: '<-Kenneth-> ' ' Pad Left: ' <-Kenneth->' |
2. Utils Namespace
The following is the Utils Namespace. Include this in your project to start using!
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
' ============================================================================ ' Author: Kenneth Perkins ' Date: Jul 18, 2021 ' Taken From: http://programmingnotes.org/ ' File: Utils.vb ' Description: Handles general utility functions ' ============================================================================ Option Strict On Option Explicit On Namespace Global.Utils Public Module modUtils ''' <summary> ''' Returns a new string that center aligns the characters in a ''' string by padding them on the left and right with a specified ''' character, of a specified total length ''' </summary> ''' <param name="source">The source string</param> ''' <param name="totalWidth">The number of characters to pad the source string</param> ''' <param name="paddingChar">The padding character</param> ''' <returns>The modified source string padded with as many paddingChar ''' characters needed to create a length of totalWidth</returns> <Runtime.CompilerServices.Extension()> Public Function PadCenter(source As String, totalWidth As Integer, Optional paddingChar As Char = " "c) As String Dim spaces = totalWidth - source.Length Dim padLeft = CInt(spaces / 2 + source.Length) Return source.PadLeft(padLeft, paddingChar).PadRight(totalWidth, paddingChar) End Function End Module End Namespace ' http://programmingnotes.org/ |
3. More Examples
Below are more examples demonstrating the use of the ‘Utils‘ Namespace. Don’t forget to include the module when running the examples!
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
' ============================================================================ ' Author: Kenneth Perkins ' Date: Jul 18, 2021 ' Taken From: http://programmingnotes.org/ ' File: Program.vb ' Description: The following demonstrates the use of the Utils Namespace ' ============================================================================ Option Strict On Option Explicit On Imports System Imports Utils Public Module Program Sub Main(args As String()) Try ' Declare string Dim original As String = "<-Kenneth->" ' Get padding width Dim width As Integer = 15 ' Display result Display("Original: '" & original & "'") Display("Pad Center: '" & original.PadCenter(width) & "'") Display("Pad Right: '" & original.PadRight(width) & "'") Display("Pad Left: '" & original.PadLeft(width) & "'") Catch ex As Exception Display(ex.ToString) Finally Console.ReadLine() End Try End Sub Public Sub Display(message As String) Console.WriteLine(message) Debug.Print(message) End Sub End Module ' http://programmingnotes.org/ |
QUICK NOTES:
The highlighted lines are sections of interest to look out for.
The code is heavily commented, so no further insight is necessary. If you have any questions, feel free to leave a comment below.
Leave a Reply