我正在尝试使用 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/