我听说这个论坛对于回答最疯狂的问题非常了不起,并且我在高低处搜索了我的疯狂问题的答案,但是我找不到答案。所以我将其发布给社区。

我使用PowerShell满足脚本需求。请不要为我提供其他脚本语言的解决方案,我确定其他脚本语言会做到这一点,但是我在PowerShell中需要这样做。

我需要拆分许多字符串,它们本质上类似于:

HelloWorld
HelloWorldIAmNew
HelloWorldIAmNewToScripting
ThankYouForHelpingMe

我需要根据大写字母将它们分开
Hello World
Hello World I Am New
Hello World I Am New To Scripting
Thank You For Helping Me

我对分割字符串有基本的了解,但这比您的平均字符串难。

最佳答案

使用带有负号和positive lookahead (?=pattern)且区分大小写的-csplit运算符的正则表达式非常简单,例如:

PS>  "HelloWorldIAmNewToScripting" -csplit "(?<=.)(?=[A-Z])"
Hello
World
I
Am
New
To
Scripting

或者,如果您希望将其分隔开:
PS>  "$("HelloWorldIAmNewToScripting" -csplit "(?<=.)(?=[A-Z])")"
Hello World I Am New To Scripting

07-25 23:23