Rob*_* P. 2 .net c# linq vb.net
我试图整理一个解决方案: 在驼峰式令牌上的单词之间插入空格
基本上,他想把'ThisIsATest'变成'This Is A Test'.我想,'哦,这很容易,我可以用LINQ做到这一点',但我很努力.
有人能帮我吗?
Dim s As String = String.Join("", From myChar As Char In myStr _
                                  Select If(Char.IsUpper(myChar), (" " & myChar).ToString, myChar.ToString))
我开始走下去的道路,但是我无法将结果变成我可以使用的东西.我甚至添加了.ToString来尝试获取一个字符串数组,但我仍然收到错误.
无法将类型为'WhereSelectEnumerableIterator`2 [System.Char,System.String]'的对象强制转换为'System.String []'.
我相信这意味着我得到的是System.Char,System.String的集合,而不仅仅是我想要的System.String.
我究竟做错了什么?
您可以使用RegEx并拆分大写字符.
Dim myString as string = "ThisIsATest"
Dim outStr As String = Regex.Replace(myString,"[A-Z]"," $0")
区分大小写的替换将定位每个大写字符并在字符前插入一个空格.