Допустим, у меня есть строка, состоящая из имени человека:
var name = "Jason, Bruno Mars";
Как мне замаскировать string
с X
для имени после запятой и возвращает:
var name = "Jason, BXXXX MXXX";
Я пытался использовать следующие методы, но маскируются только передние символы:
string first, second, output;
bool hasSpace, hasComma;
int int_LENGTH;
var name = "Jason, Bruno Mars";
hasComma = name.Contains(",");
if (hasComma == true)
{
int_LENGTH = name.IndexOf(",");
if (int_LENGTH > 0)
{
first = name.Substring(0, int_LENGTH);
}
second = string.Join(",", name.Split(" ").Skip(1));
hasSpace = second.Contains(" ");
if (hasSpace == true)
{
second = string.Concat(new string('X', 12), second.Substring(second.Length - 4));
output = first + "," + second;
}
}
У кого-то есть лучшее представление о том, как можно добиться того же результата более эффективным способом?