gpt4 book ai didi

.net - 如何拆分数字列表并在每个数字后添加 ","

转载 作者:行者123 更新时间:2023-12-01 19:44:05 27 4
gpt4 key购买 nike

我有电话号码列表,每个电话号码必须有 10 个号码,我想要简单的代码在每个电话号码后面添加“,”,以便我可以在 SMS 应用程序中发送它。

我是这样的:

0123456789

0123456789

0123456789

0123456789

0123456789

0123456789

我希望输出如下所示:

0123456789,0123456789,0123456789,0123456789,0123456789,0123456789

orig = "012345678901234567890123456789"
Dim res = Enumerable.Range(0,orig.Length\10).[Select](Function(i) orig.Substring(i*8,8))

最佳答案

所以你有一个包含所有数字的字符串?奇怪的。然而....

Dim orig = "012345678901234567890123456789"
Dim allNumbers As New List(Of String)
For i As Int32 = 0 To orig.Length - 1 Step 10
Dim number As String
If i + 10 >= orig.Length Then
number = orig.Substring(i)
Else
number = orig.Substring(i, 10)
End If
allNumbers.Add(number)
Next

现在您可以使用String.Join:

Dim result = String.Join(",", allNumbers)  ' 0123456789,0123456789,0123456789

这是最有效的方法,而且也具有可读性。如果您坚持使用 LINQ 方法,这里是 ( method syntax ugly as always in VB.NET ):

Dim numGroups = orig.
Select(Function(chr, index) New With {.Char = chr, .Index = index}).
GroupBy(Function(x) x.Index \ 10).
Select(Function(g) String.Concat(g.Select(Function(x) x.Char)))
Dim result = String.Join(",", numGroups)

诀窍是按x.Index\10进行分组,这是VB.NET中的整数除法,小数部分被截断,因此它构建了十个组。

关于.net - 如何拆分数字列表并在每个数字后添加 ",",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30209870/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com