Vb.net 在特定字符/单词之间插入空格
我有以下字符串:Vb.net 在特定字符/单词之间插入空格,vb.net,Vb.net,我有以下字符串: 15 + power ( 10,5 ) + 5 + power ( 1,5 ) 我的目标是在逗号之间留出一个空格,以字符串结尾,如下所示: 15 + power ( 10 , 5 ) + 5 + power ( 1 , 5 ) 我尝试过用空格分割字符串,并将powers inputedString的索引作为第一行代码: "15 + power ( 10,5 ) + 5 + power ( 1,5 )".Split(" ").Select(Function(b, i) If(
15 + power ( 10,5 ) + 5 + power ( 1,5 )
我的目标是在逗号之间留出一个空格,以字符串结尾,如下所示:
15 + power ( 10 , 5 ) + 5 + power ( 1 , 5 )
我尝试过用空格分割字符串,并将powers inputedString的索引作为第一行代码:
"15 + power ( 10,5 ) + 5 + power ( 1,5 )".Split(" ").Select(Function(b, i) If(b = "power", i, -1)).Where(Function(i) i <> -1)
然而,我在继续下去时遇到了困难:即使我将10,5拆分为10和5,我也无法将其插入foreach循环中的列表中
我假设我可以创建一个字典来存储这些要修改和插入到列表中的项目,或者在foreach循环中创建一个新列表,但我认为这不是解决这个问题的最干净、最简单的方法
Edit1:我无法使用字符串。请替换、、因为我必须只修改“电源”标记内的值您可以尝试以下解决方案:
Dim str As String = "15 + power ( 10,5 ) + 5 + power ( 1,5 )"
Dim rgx As New Regex("([ ]*),([ ]*)")
Dim result As String = rgx.Replace(str, " , ")
Debug.Print(result) '15 + power ( 10 , 5 ) + 5 + power ( 1 , 5 )
我相信Sebastian的答案很好,但我对正则表达式还不太满意,所以我有一个没有正则表达式的2行代码
Private Sub btnAddSpaces_Click(sender As Object, e As EventArgs) Handles btnAddSpaces.Click
Dim OriginalString As String = "15 + power ( 10,5 ) + 5 + power ( 1,5 )"
Dim StringArray() As String = OriginalString.Split(","c)
Dim NewString As String = Join(StringArray, " , ")
Debug.Print(NewString)
End Sub
strYourString.Replace,,,,?很遗憾,我只需要更改power标记内的值,我不能替换所有逗号tank you,但很遗憾,我不能替换字符串中的每个逗号,我只需要替换powers中的逗号。