我有一个字符串,根据一个整数变量,我想在该字符串的开头添加一定数量的空格。
我想要做的事情像这样:
int NumberOfTabs = 2;
string line = "my line";
string line = String.Format("{0}{1}", " " * NumberOfTabs, line);
...现在行应该有8个空格
最简单的方法是什么?
我有一个字符串,根据一个整数变量,我想在该字符串的开头添加一定数量的空格。
我想要做的事情像这样:
int NumberOfTabs = 2;
string line = "my line";
string line = String.Format("{0}{1}", " " * NumberOfTabs, line);
...现在行应该有8个空格
最简单的方法是什么?
string line = String.Format("{0}{1}", new String(' ', NumberofTabs * 4), line);
string line = String.Concat(new String(' ', NumberofTabs * 4), line);
string line = new String(' ', NumberofTabs * 4).Concat(line);
有一位评论者提出了一个很好的观点,如果你想要实际上使用制表符,请将' '
更改为'\t'
并去掉* 4
,如下所示:
string line = String.Concat(new String('\t', NumberofTabs), line);
'\t'
而不是 ' '
,如果想要真正的制表符,则可以去掉 * 4
。 - Nick Craverint i=8;
System.Text.StringBuilder sb = new System.Text.StringBuilder();
sb.Append(" ", i);
new string(' ', NumberOfTabs )
NumberOfTabs * 4
。 - Adam Robinsonstr = str.PadLeft(str.Length+tabs*4);
String.Empty.PadRight(NumberOfTabs)
int NumberOfTabs = 2;
string line = "my line";
string results = line.PadLeft(line.Length + NumberOfTabs, ' ');
虽然不是最佳答案,但这里有一个有趣的LINQ一行代码:
var result = new string(Enumerable.Repeat(' ', count).Concat("my line").ToArray());
您可以创建一个包含自定义数量空格的新字符串。不幸的是,没有像Python中那样的字符串乘法(" " * 2
)。但是,您可以将空格数乘以4来获得“制表符”:
int numberOfTabs = 2;
string line = "my line";
string whitespaces = new string(' ', numberOfTabs * 4);
string s = whitespaces + line;
+
进行字符串连接比string.Format
更清晰、更简单(如果有必要)和更快,例如new string(' ', NumberOfTabs) + line
。 - Daniel Earwicker