VB.NET中如何扩充字符串进行固定宽度显示
在VB.NET中,当你需要在控制台显示数据或准备好打印数据时,可能需要调整列宽以显示固定长度的数据。本文介绍了使用String对象的PadLeft方法和PadRight方法扩充字符串以进行固定宽度显示。
PadLeft和PadRight方法
PadLeft和PadRight是字符串类的两个方法,可以分别使用它们在字符串的左边和右边填充空格。这两个方法多接受一个代表总长度的整型数,添加的空格数等于填充总长度减去字符串的当前长度。
注意:在完成将字符串格式化为固定宽度显示的工作时,应该使用固定宽度的字体,例如Courier等,因为固定宽度的字符占有相同的宽度。否则,填充将会无效。
程序员经常使用的另一个替代方法是使用tab字符来获得近似固定宽度显示格式。使用tabs的一个问题是,当某行长度比能够显示的长度长时,将会对tab进行扩展,这将导致各行不能很好对齐。
下面代码我们为大家介绍了如何使用PadLeft和PadRight方法显示字符串。(为了运行该例子,我们添加了一个下拉列表ListBox1并将它的字体设置为固定宽度的字体)
Private Sub PadStrings() Dim i As Integer = 0 Dim strArrSeasons() AsString = {"Winter", "Spring", "Summer", "Fall"} Dim strArrWeather() AsString = {"Cold", "Warm", "Hot", "Cool"} PadArray(strArrSeasons, True) PadArray(strArrWeather, False) Dim strAll As String For i = 0 To strArrSeasons.length – 1 ListBox1.Items.Add(strArrSeasons(i) & " " & strArrWeather(i)) Next End Sub Private Sub PadArray(ByRef strArray() As String, ByVal bPadLeft As Boolean) Dim i As Integer = 0 Dim iMaxLength As Integer = 0 Dim strItem As String For Each strItem In strArray If strItem.Length > iMaxLength Then iMaxLength = strItem.Length Next For i = 0 To strArray.Length – 1 If bPadLeft = TrueThen strArray(i) = strArray(i).PadLeft(iMaxLength) Else strArray(i) = strArray(i).PadRight(iMaxLength) End If Next End Sub
图一显示了运行代码后的结果。
图一
在本例中,我们定义了一个整型变量i和两个字符串数组:strArrSeasons和strArrWeather。每个数组赋初值为预定义好的值;然后,我们将每个数组传递给函数PadArray,并指定在字符串的左侧扩充。