修剪开始和修剪结束无法按预期工作

本文关键字:修剪 工作 开始 结束 | 更新日期: 2023-09-27 18:33:20

我正在测试通过 C# 切割字符串,但我没有得到正确的结果。它仍然显示全文 exactString。

String exactString = ABC@@^^@@DEF
char[] Delimiter = { '@', '@', '^', '^', '@', '@' };
string getText1 = exactString.TrimEnd(Delimiter);
string getText2 = exactString.TrimStart(Delimiter);
MessageBox.Show(getText1);
MessageBox.Show(getText2);

输出:

ABC@@^^@@DEF getText1 和 getText2

正确的输出应该是ABC 代表 getText1 和 DEF 代表 getText2。

我该如何解决?谢谢。

修剪开始和修剪结束无法按预期工作

你想拆分你的字符串,而不是修剪它。因此,正确的使用方法是String.Split

String exactString = "ABC@@^^@@DEF";
var result = exactString.Split(new string[] {"@@^^@@"}, StringSplitOptions.None);
Console.WriteLine(result[0]);  // outputs ABC
Console.WriteLine(result[1]);  // outputs DEF

您正在寻找 String.Replace,而不是 Trim。

char[] Delimiter = { '@', '^' };
string getText1 = exactString.Replace(Delimiter,'');

修剪仅删除开头的字符,替换查看整个字符串。

您可以使用(方便命名的)String.Split 方法将字符串分成 2 部分。

char[] Delimiter = { '@', '^' };
string[] text = exactString.Split(Delimiter, StringSplitOptions.RemoveEmptyEntries);
//text[0] = "ABC", text[1] = "DEF

你可以使用String.Split方法

String exactString = "ABC@@^^@@DEF";
string[] splits = exactString.Split(new string[]{"@@^^@@"}, StringSplitOptions.None);
string getText1 = splits[0];
string getText2 = splits[1];
MessageBox.Show(getText1);
MessageBox.Show(getText2);