如何为字符串除首行外的所有行开头添加空格?
修正C#代码实现仅非第一行开头加空格
没问题,我来帮你调整这段代码~你当前的代码会给所有行都添加空格,要实现仅第一行以外的行开头加空格,我们可以利用LINQ的Select方法带索引的重载,通过索引判断是不是第一行(索引从0开始):
string text = "abc\ndef\nhij"; // 拆分后通过索引区分第一行和其他行 string result = string.Join(Environment.NewLine, text.Split(new string[] { Environment.NewLine }, StringSplitOptions.None) .Select((line, index) => index == 0 ? line : " " + line)); TextArea1_trim_id.InnerText = result;
代码说明:
Select((line, index) => ...):这个重载会同时返回每一行的内容和它的索引位置- 当
index == 0时(也就是第一行),直接返回原行内容 - 索引大于0的行,在开头添加一个空格后返回
测试一下你的输入:
输入:abc
def
hij
执行代码后会得到期望的输出:
输出:abc
def
hij
内容的提问来源于stack exchange,提问作者Emmy
相关产品推荐
相关产品推荐

