我正在测试通过C#剪切字符串,但我没有正确得到结果。 它仍然显示全文exactString。
String exactString = ABC@@^^@@DEF
char[] Delimiter = { '@', '@', '^', '^', '@', '@' };
string getText1 = exactString.TrimEnd(Delimiter);
string getText2 = exactString.TrimStart(Delimiter);
MessageBox.Show(getText1);
MessageBox.Show(getText2);
输出:
对于getText1和getText2, ABC@@^^@@DEF
。
应该是正确的输出 用于getText1的ABC和用于getText2的DEF。
我该如何解决? 感谢。
答案 0 :(得分:7)
您希望拆分您的字符串,而不是修剪它。因此,正确的使用方法是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
答案 1 :(得分:1)
您正在寻找String.Replace,而不是修剪。
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
答案 2 :(得分:1)
您可以使用String.Split Method
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);