如何在c#中替换字符串中特定行的文本?

如何在c#中替换字符串中特定行的文本?,c#,C#,我需要用多行字符串中特定行的新文本替换文本。假设我需要将第6行6替换为6。我是这样做的,但我不认为这是一个优化的方式,有没有更好的方式来做到这一点 string str = "1\n2\n3\n4\n5\n6\n7\n8\n9"; string[] output = str.Split('\n'); output[5] = output[5].Replace("6", "Six"); str = string.Join("\n", output); 我喜欢你目前的做法。您可以尝试替换正则表达式

我需要用多行字符串中特定行的新文本替换文本。假设我需要将第6行6替换为6。我是这样做的,但我不认为这是一个优化的方式,有没有更好的方式来做到这一点

string str = "1\n2\n3\n4\n5\n6\n7\n8\n9";
string[] output = str.Split('\n');
output[5] = output[5].Replace("6", "Six");
str = string.Join("\n", output);

我喜欢你目前的做法。您可以尝试替换正则表达式,但这种模式会相当难看。为什么不首先用所需的值替换6呢<代码>var str=“1\n2\n3\n4\n5\n6\n7\n8\n9”。替换(“6”、“6”)@Kami因为第5行可能也包含
6
@viveknuna,您应该将其添加到您的问题中,因为您的示例和问题没有明确说明这一点。
string[]output=str.Split(新字符[]{'\n'},5+2)-我们不必分成所有行,比如说,
12345678
行<代码>7将足够我喜欢你目前的方法。您可以尝试替换正则表达式,但这种模式会相当难看。为什么不首先用所需的值替换6呢<代码>var str=“1\n2\n3\n4\n5\n6\n7\n8\n9”。替换(“6”、“6”)
@Kami因为第5行可能也包含
6
@viveknuna,您应该将其添加到您的问题中,因为您的示例和问题没有明确说明这一点。
string[]output=str.Split(新字符[]{'\n'},5+2)-我们不必分成所有行,比如说,
12345678
行<代码>7就足够了