如何将字符串中的整个字符替换为c#中的相同字符

本文关键字:字符 替换 字符串 | 更新日期: 2023-09-27 18:16:38

示例:

string input = "super";
string rep = "a";

我希望输出与给定输入string length相同的租船人。输出应为"aaaaa"。我不喜欢使用自己的FOR或While循环逻辑,有什么替代方案可以实现它吗?

如何将字符串中的整个字符替换为c#中的相同字符

使用构造函数

string output = new string('a', input.Length);

如果你想重复一个真正的string n次,你可以使用Enumerable.Repeat:

string output = string.Join("", Enumerable.Repeat(rep, input.Length));

我使用String.Join将每个字符串与指定的分隔符连接起来(在本例中为none(。

通过使用正则表达式

string input = "123";
string rep = "Abc";
string output = Regex.Replace(input , "(.)", rep)

通过使用LINQ

string output = string.Concat(input.Select(c => rep));

输出

AbcAbcAbc-

为了好玩,这里有另一种方法:

new string(input.Select(c => 'a').ToArray());

另一种方式:

string input = "super";
string rep = "a";
var newStr = input.Select(x => rep);

如果你想要一个规模很大但很容易理解的解决方案:

string output = "";
foreach(char a in input) {    // == for(int i = 0; i < input.length; i++) {
    output += rep;
}

我不知道如何与建造师合作
这是一个非常简单的解决方案,但它只适用于char。所以你不能重复字符串。

string op = "";
for(int i = 0; i < input.Length; i++)
   op += rep;