首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >.NET -如何将"caps“分隔的字符串拆分成数组?

.NET -如何将"caps“分隔的字符串拆分成数组?
EN

Stack Overflow用户
提问于 2008-09-30 22:03:42
回答 14查看 23K关注 0票数 117

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

此字符串:"This Is My Caps ...to String“

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

干杯!

EN

回答 14

Stack Overflow用户

发布于 2008-09-30 22:15:00

代码语言:javascript
复制
Regex.Replace("ThisIsMyCapsDelimitedString", "(\\B[A-Z])", " $1")
票数 39
EN

Stack Overflow用户

发布于 2008-11-15 00:31:19

回答得很好,MizardX!我稍微调整了一下,将数字作为单独的单词处理,这样"AddressLine1“就变成了"Address Line1 1”,而不是"Address Line1":

代码语言:javascript
复制
Regex.Replace(s, "([a-z](?=[A-Z0-9])|[A-Z](?=[A-Z][a-z]))", "$1 ")
票数 20
EN

Stack Overflow用户

发布于 2008-09-30 22:59:04

只是为了一点变化。下面是一个不使用正则表达式的扩展方法。

代码语言:javascript
复制
public static class CamelSpaceExtensions
{
    public static string SpaceCamelCase(this String input)
    {
        return new string(Enumerable.Concat(
            input.Take(1), // No space before initial cap
            InsertSpacesBeforeCaps(input.Skip(1))
        ).ToArray());
    }

    private static IEnumerable<char> InsertSpacesBeforeCaps(IEnumerable<char> input)
    {
        foreach (char c in input)
        {
            if (char.IsUpper(c)) 
            { 
                yield return ' '; 
            }

            yield return c;
        }
    }
}
票数 18
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/155303

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档