借用群里面朋友写的,发出来方便下次好找
Dim 字符串 As String = "旋复花10g,前胡10g,荆芥穗15g,麻黄10g,赤芍30g,炙干草10g,姜半夏10g,桔梗15g,陈皮10g,白前2g,百部20g"
Dim 字符组() As String = 字符串.Split (",")
Dim 字符长度集 As New List(Of Integer)
For Each 字符 As String In 字符串.split(",") '循环数组,得到字符组的长度
字符长度集.add(UKey.LenStrA(字符)) 'UKey有一个函数LenStrA,用计算字符串的字节长度(不能直接用字符长度集.add(Len(字符)))
Next
Dim 最大值 As Integer = 字符长度集.max
Dim 分组位数 As Integer = 4
Dim 集合型集合 As New List(Of List(Of String))
For 组头序号 As Integer = 0 To 字符组.Count - 1 Step 分组位数
Dim 字符型集合 As New List(Of String)
For 组内序号 As Integer = 0 To 分组位数 - 1
Dim 总序号 As Integer = 组头序号 + 组内序号
If 总序号 < 字符组.Count Then
Dim 补全空白字符数 As Integer = 最大值 - UKey.LenStrA(字符组(组头序号 + 组内序号))
字符型集合.Add(字符组(组头序号 + 组内序号) + Space(补全空白字符数 + 5))
End If
Next
集合型集合.Add(字符型集合)
Next
For Each 集合 As List(Of String) In 集合型集合
Output.Show (String.Join ("", 集合))
Next
[此贴子已经被作者于2023/5/31 9:12:13编辑过]