当前位置:  开发笔记 > 编程语言 > 正文

将字符串转换为三个字母缩写

如何解决《将字符串转换为三个字母缩写》经验,为你挑选了1个好方法。

我最近获得了一个新的项目,将任何给定的字符串转换为1-3个字母的缩写.类似于我必须产生的东西的一个例子是下面给出的字符串可以是任何东西:

switch (string.Name)
        {
            case "Emotional, Social & Personal": return "ESP";
            case "Speech & Language": return "SL";
            case "Physical Development": return "PD";
            case "Understanding the World": return "UW";
            case "English": return "E";
            case "Expressive Art & Design": return "EAD";
            case "Science": return "S";
            case "Understanding The World And It's People"; return "UTW";

}

我想我可以使用string.Split并计算数组中的单词数.然后添加处理特定长度字符串的条件,因为这些句子通常不会长于4个字,但我将遇到的问题是.

    如果字符串比我预期的长,则不会被处理

    必须从缩写中排除符号

关于我可以应用的逻辑的任何建议将非常感激.谢谢



1> juharr..:

类似下面的内容应该与您给出的示例一起使用.

string abbreviation = new string(
    input.Split()
          .Where(s => s.Length > 0 && char.IsLetter(s[0]) && char.IsUpper(s[0]))
          .Take(3)
          .Select(s => s[0])
          .ToArray());

您可能需要根据预期输入调整过滤器.可能会添加要忽略的单词列表.

推荐阅读
wurtjq
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有