如何将字符串中的整个字符替换为c#中的相同字符
本文关键字:字符 替换 字符串 | 更新日期: 2023-09-27 18:16:38
示例:
string input = "super";
string rep = "a";
我希望输出与给定输入string
length
相同的租船人。输出应为"aaaaa
"。我不喜欢使用自己的FOR或While循环逻辑,有什么替代方案可以实现它吗?
使用构造函数
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;