c# - 如何检查字符串是否有换行符,然后做一些事情

标签 c# windows string

我有这段代码,它将反转文本输入。它不捕获换行符,所以我想每次都检查是否遇到换行符,以便手动在我的结果字符串中插入换行符。

这怎么可能?

var a = textBox1.Text;
var c = Environment.NewLine;
string b = "";
foreach(var ch in a)
{
   if (ch.ToString() ==c)
      b += c;
   else
      b = ch + b;
   b += "\n";
}
textBox2.Text = b;
Clipboard.SetText(b);

最佳答案

您可以使用Split 获取所有行,然后反转每一行。

String a = textBox1.Text;
String result = String.Empty;

String[] lines = a.Split(new String[] { Environment.NewLine }, StringSplitOptions.None);

foreach(String line in lines.Reverse())
{
    // inverse text
    foreach(char ch in line.Reverse())
    {
        result += ch;
    }

    // insert a new line
    result += Environment.NewLine;
}

// remove last NewLine
result = result.Substring(0, result.Length - 1);

示例:在条目中,如果您有:

test
yopla

结果将是:

alpoy
tset

关于c# - 如何检查字符串是否有换行符,然后做一些事情,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30578952/

相关文章:

python - 在Python上显示两个字符串,一个垂直,一个水平?

c# - 使用 ZipOutputStream 压缩子文件夹

javascript - Json 格式日期

java - 在字符串中移动字符

c++ - 服务 DLL 的 CPU 使用率?

c++ - 在线程上设置超时的任何体面的方法?

关于字符串连接的 Swift 2 到 3 迁移错误

c# - .NET 中是否有用于重复字符串或字符的内置函数?

c# - 与其他页面相比,在第一页上显示不同的 HTML 标题

windows - 如何在 Windows 命令提示符下通过串口发送文件