首页 新闻 会员 周边

C#:姓名在输出时,如何将中间的汉字替换为*号

0
悬赏园豆:5 [已解决问题] 解决于 2022-08-19 10:52

C#:姓名在输出时,如何将中间的汉字替换为*号

大da脸的主页 大da脸 | 初学一级 | 园豆:73
提问于:2022-08-19 10:30
< >
分享
最佳答案
0

这个不是会操作字符串就会的吗?肯定是自己一点不会来问的。不过看着给一丢丢豆的情面上,我给个函数,自己看看咋写的:

   private static string MarkString(string name)
        {
            if (name.Length >= 3)
            {
                var c = name.Length - 2;
                var mn = new string('*', c);
                return $"{name[0]}{mn}{name[name.Length-1]}";
            }
            return name;
        }
收获园豆:5
寂静的羽夏 | 小虾三级 |园豆:1781 | 2022-08-19 10:42

我意思是C#有没有其他自带的属性可以直接替换的,这种是最笨的拼接,除了这种还有其他方法吗?

大da脸 | 园豆:73 (初学一级) | 2022-08-19 10:47

@大da脸: 无,据我所知,目前 C# 并没有提供其他的方式,往往简单粗暴的方式其实就是最好的方式。

寂静的羽夏 | 园豆:1781 (小虾三级) | 2022-08-19 10:51

@寂静的羽夏: 好吧

大da脸 | 园豆:73 (初学一级) | 2022-08-19 10:52

两个字的是不是也考虑替换一下,哈哈

MrNice | 园豆:3450 (老鸟四级) | 2022-08-19 11:46

@MrNice: 其实如果要自己写,后台封装个截取的方法进行从新拼接也是可以实现的,我现在主要用在视图上,视图上是遍历后端数据集的时候想吧获取的名字进行加密处理,视图上能用吗?

大da脸 | 园豆:73 (初学一级) | 2022-08-22 11:08
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册