.NET - 如何将 "caps"分隔字符串拆分为数组?

标签 .net regex algorithm string pascalcasing

我如何从这个字符串:“ThisIsMyCapsDelimitedString”开始

...到这个字符串:“这是我的大写分隔字符串”

最好使用 VB.net 中的最少代码行,但也欢迎使用 C#。

干杯!

最佳答案

这是我不久前做的。它匹配 CamelCase 名称的每个组成部分。

/([A-Z]+(?=$|[A-Z][a-z])|[A-Z]?[a-z]+)/g

例如:

"SimpleHTTPServer" => ["Simple", "HTTP", "Server"]
"camelCase" => ["camel", "Case"]

要将其转换为仅在单词之间插入空格:

Regex.Replace(s, "([a-z](?=[A-Z])|[A-Z](?=[A-Z][a-z]))", "$1 ")

如果你需要处理数字:

/([A-Z]+(?=$|[A-Z][a-z]|[0-9])|[A-Z]?[a-z]+|[0-9]+)/g

Regex.Replace(s,"([a-z](?=[A-Z]|[0-9])|[A-Z](?=[A-Z][a-z]|[0-9])|[0-9](?=[^0-9]))","$1 ")

关于.NET - 如何将 "caps"分隔字符串拆分为数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/155303/

相关文章:

C#/.NET 泛型和 Cdecl Varargs 错误?

c# - string.format() 至少保留一位小数

c# - 轮询数千个 TCP 套接字

c# - 如何使用正则表达式从字符串中获取数字?

c - 使用 if-else 对 3 个值进行排序的最有效的 C 程序是什么?

算法二维引用翻译

.net - 是否有用于以编程方式更改项目和解决方案文件(.vbproj、.csproj、.sln)的 API?

带别名的 javascript 正则表达式

java - 如何使用多个分隔符分割具有不同值的字符串?

string - 如何在 Scala 字符串中找到 Id 的出现