C#自定义实现sql中的stuff函数功能--手机号隐藏中间4位,并用星号代替

sql server中有一个函数Stuff,功能是删除指定字符指定位置开始的字符串并插入新的字符串。在sql server中很容易就实现手机号隐藏中间4位,用星号代替。如下:

stuff(a.LoginName,4,4,'****')

遗憾的是C#中没有这个函数,简单处理:

public static string GetLoginNameDisplay(this string loginName)
{
    string result = "";
    result = loginName.Substring(0, 3) + "****" + loginName.Substring(7);
    return result;
}

下面是我写的一个通用方法,实现了stuff功能:

public static string Stuff(this string str,int startPosition,int length,char replaceChar)
{
    if (string.IsNullOrEmpty(str))
        return "";
    string result = "";
    if (startPosition <0)
        return "";
    result = str.Substring(0, startPosition) + "".PadLeft(length, replaceChar);
    var indexNew = startPosition + length;
    if (indexNew <= str.Length - 1)
        result += str.Substring(indexNew);
    return result;
}

猜你喜欢

转载自www.cnblogs.com/ashbur/p/12017938.html
今日推荐