我想要做的是在特定点插入所需的字符,如“空格”,如“123456789”。示例:在字符串123456789 = 1234 56789中的位置5处插入一个空格。这是我的代码:
Dim str As String = sum2.Text '123456789
Dim insStr As String = " " 'space
Dim strRes As String = str.Insert(5, insStr) '5th position
代码看起来很好,我使用它或运行它时不会出现任何错误,但它不会在第5位添加空间,所以我需要一些帮助!
答案 0 :(得分:2)
您不能认为String.Insert(Integer, String)
中的startIndex为零。这意味着如果您打算在第5个位置插入一个空格,则必须将其调整为-1:
Dim insertPosition = 5 ' Assuming this came from the user who says put it in position 5
Dim inStr = " "
Dim strRes = str.Insert(insertPosition - 1, inStr) ' assuming your str already had a value.
那将插入4到5之间的空格并生成
1234 56789
我在你的评论中看到你可能想要在1,5,7位置插入空格。在这种情况下,您必须反向进行,从最大位置开始到最小位置。这是假设您想要
的原因_1234_6_89
我使用下划线来表示空格,以便您可以更好地看到它。
在使用之前,请确保您的字符串有足够的字符可供索引编入索引,否则您将获得ArgumentOutOfRangeException
。