作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试将任意长度的字符串格式化为固定宽度的字段以进行显示。
我们以宽度为20为例,调用要格式化的字符串s。我将格式化的字符串添加到名为 b 的 StringBuilder。
Dim b As New System.Text.StringBuilder()
Dim s as New String
b.Append(s.PadRight(20))
b.AppendFormat("{0,-20}", s)
b.Append(s.Substring(0,20).PadRight(20))
b.Append(s.PadRight(20).Substring(0,20))
Module Extensions
<Extension()> _
Function AppendFixed(ByVal b As StringBuilder, ByVal s As String, ByVal width As Integer) As StringBuilder
If s.Length >= width Then
b.Append(s, 0, width)
Else
b.Append(s)
b.Append(" ", width - s.Length)
End If
Return b
End Function
End Module
最佳答案
I was wondering if there is an alternate method that would look more elegant and avoid padding the string
<Extension()> _
Public Function AppendFixed(ByVal target As StringBuilder, ByVal value As String, ByVal desiredLength As Integer) As StringBuilder
If value.Length < desiredLength Then value.PadRight(desiredLength)
Return target.Append(value.Substring(0,desiredLength))
End Function
b.AppendFixed(s, 20)
关于.net - 如何将字符串格式化为 .Net 中的固定宽度字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6904923/
我是一名优秀的程序员,十分优秀!