例子:
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
指定的分隔符连接每个字符串(在这种情况下没有)。
通过使用正则表达式
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;
}
我不知道如何使用构造函数。
这是一个非常简单的解决方案,但它只适用于字符。所以你不能重复字符串。
string op = "";
for(int i = 0; i < input.Length; i++)
op += rep;