c# - 为什么 String.Trim 不修剪分号?

标签 c# string trim

我正在尝试使用 String.Trim 修剪字符串:

split[2].Trim(';')

但我得到的结果是:

System;

代替:

System

我也试过使用:

split[2].TrimEnd(';')

但它仍然返回相同的结果。

另外,如果我这样做:

split[2].Trim('S', ';')

我得到:

ystem;

我真的很困惑为什么会这样。会不会是因为分号不是字符串的最后一个字符?

完整代码如下:

string line = @"
using System;
using System.Windows.Forms;
class HelloWorld
{
    static void Main()
    {
#if DebugConfig
        Console.WriteLine("WE ARE IN THE DEBUG CONFIGURATION");  
#endif

        Console.WriteLine("Hello, world!");
        DialogResult result;
        result = MessageBox.Show("Itsyeboi", "Yup", MessageBoxButtons.YesNo);
        if (result == DialogResult.Yes)
        {
            Console.WriteLine("Yes");
            Console.ReadLine();
        }
        else
        {
            Console.WriteLine("No");
            Console.ReadLine();
        }

    }
}"
string[] split = line.Split(' ', '\n');
while (true)
{
    if (split[counter4] == "using")
    {
        richTextBox1.Text = split[1].Trim(';');
        break;
    }
    else
    {
          richTextBox1.Text = line;
        break;
    }
}

的确,我的 while 循环毫无意义,但它是“WIP”而不是最终版本。

最佳答案

替换以下行:

string[] split = line.Split(' ', '\n');

有了这个:

string[] split = line.Replace("\r\n", "\n").Split(' ', '\n');

这将仅用换行符替换所有回车符,从而消除尾随 \r 可能导致您出现问题的可能性。

关于c# - 为什么 String.Trim 不修剪分号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41309125/

相关文章:

c# - 如何在asp.net 的转发器控件栏中显示图像?

c# - 有没有办法为 Xamarin.Forms.Maps 引脚移动设置动画

c# - Entity Framework 6 迁移 - 生成 "SchemaName"."TableName"

c# - SqlCommand INSERT INTO 从 datagridview 到 SQL DB 表

c++ - 替换 C++ 98 中的模式

php - SQL WHERE 子句 : sort by date for string

javascript - 如何从字符串中 trim ()空格?

html - 浏览器是否删除任何 html 标签文本之间的空格

python - 如何在 Python 中隔离左侧 2 个分隔符和右侧 7 个分隔符之间的文本?

javascript - String.prototype.trim.call(text) 和 text.trim() 的区别