C# 指定位数的字符串用*替代
时间: 2023-11-28 17:05:52 浏览: 218
在 C# 中,可以使用 `String.PadLeft` 方法和 `String.Replace` 方法来将指定位数的字符串用 `*` 替代。具体步骤如下:
1. 使用 `String.PadLeft` 方法将原字符串填充到指定的位数。
2. 使用 `String.Replace` 方法将填充后的字符串中的非 `*` 字符替换为 `*`。
下面是一个示例代码:
```c#
string myString = "123456789";
int maxLength = 8; // 指定的最大长度
string paddedString = myString.PadLeft(maxLength, '*'); // 将原字符串填充到指定的位数
string maskedString = paddedString.Replace(paddedString.Substring(0, paddedString.Length - maxLength), new string('*', maxLength)); // 将填充后的字符串中的非 * 字符替换为 *
Console.WriteLine(maskedString); // 输出 "****6789"
```
在上面的代码中,我们首先使用 `String.PadLeft` 方法将原字符串 "123456789" 填充到指定的最大长度 8,生成填充后的字符串 "123456789"。然后,我们使用 `String.Replace` 方法将填充后的字符串中的非 `*` 字符替换为 `*`,生成最终的字符串 "****6789"。需要注意的是,我们在第二个参数中使用了 `new string('*', maxLength)`,这样可以保证替换后的字符串仍然是指定的最大长度。
阅读全文