【问题标题】:c# replace "\n" text with newline in a textboxc#在文本框中用换行符替换“\n”文本
【发布时间】:2015-09-22 06:29:51
【问题描述】:

我有一些文本(例如“o\nour first place, and this\n\n13”),我希望文本中的每个“\n”字符串都必须用换行符替换...

示例的输出将是:

o 我们的第一名,这个

13 我该怎么做?文本框是多行的

代码是

string text_str = txtbox.Text;
text_str .Replace("(?<!\r)\n", "\r\n");
txtbox.Clear();
txtbox.Text = text_str;

【问题讨论】:

  • 因此,如果在框中键入文字反斜杠 n ("\\n"),您希望它用实际的新行 ("\n") 替换它吗?
  • 您的示例与您所说的不符。字母 o 应该在自己的一行,我们的第一个位置.... 在另一行,然后是一个空行,最后是数字。请修复示例或更好地解释您要实现的目标

标签: c# replace textbox newline


【解决方案1】:

我认为您正在寻找这样的东西:

string text_str = txtbox.Text;
text_str = text_str.Replace("\\n", "\r\n");
txtbox.Clear();
txtbox.Text = text_str;

虽然这是一种真正的做事方式。这将完成同样的事情:

txtbox.Text = txtbox.Text.Replace("\\n", "\r\n");

【讨论】:

  • 谢谢你,这项工作,但为什么需要 "\\n" insted "\n"?
  • 你能解释一下这怎么可能工作吗?字符串是不可变的。 Replace 不会以任何方式更改 text_str
  • @Steve 很好。我没有仔细看他的代码。
  • @pcluddite 我建议你测试这段代码,同样的变化,替换似乎根本不起作用,双反斜杠对我来说是错误的
  • @Steve 这段代码对我来说很好用。你是如何测试它的?
【解决方案2】:

你在这里:

string text_str = "o\nour first place, and this\n\n13";
text_str = text_str.Replace("\n", "\r\n");

希望对您有所帮助。

【讨论】:

    【解决方案3】:

    这应该可行:

    txtbox.Text = txtbox.Text.Replace("\\n", Environment.NewLine);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-05
      • 2011-09-18
      • 1970-01-01
      • 1970-01-01
      • 2022-12-22
      • 2021-03-26
      • 2021-01-20
      • 1970-01-01
      相关资源
      最近更新 更多