小编RyR*_*lli的帖子

C# 获取 DisplayName 的首字母缩写

我正在尝试从显示名称中提取缩写以用于显示其缩写。我发现这很困难,因为字符串是包含一个或多个单词的一个值。我怎样才能实现这个目标?

例子:

'约翰·史密斯' => JS

“史密斯,约翰”=> SJ

'约翰' => J

“史密斯”=> S

public static SearchDto ToSearchDto(this PersonBasicDto person)
        {
            return new SearchDto
            {
                Id = new Guid(person.Id),
                Label = person.DisplayName,
                Initials = //TODO: GetInitials Code
            };
        }
Run Code Online (Sandbox Code Playgroud)

我使用了以下解决方案:我创建了一个帮助器方法,它允许我测试多种情况。

public static string GetInitials(this string name)
        {
            if (string.IsNullOrWhiteSpace(name))
            {
                return string.Empty;
            }

            string[] nameSplit = name.Trim().Split(new string[] { ",", " " }, StringSplitOptions.RemoveEmptyEntries);
            var initials = nameSplit[0].Substring(0, 1).ToUpper();

            if (nameSplit.Length > 1)
            {
                initials += nameSplit[nameSplit.Length - 1].Substring(0, 1).ToUpper();
            }

            return …
Run Code Online (Sandbox Code Playgroud)

c# backend dto

3
推荐指数
1
解决办法
7569
查看次数

标签 统计

backend ×1

c# ×1

dto ×1