如何查找字符串中未包含在另一个字符串部分中的所有部分?

时间:2014-07-29 09:30:37

标签: c#

我有两个字符串,我需要检查它们是否具有相似的值但不相同。最后一个字符串应该包含所有缺少的部分,因此string1的部分不包含在string2的部分中(完全或作为子字符串)。怎么做?

例如:

string first = "aaa/bbb/cccc/dddd";
string second "bbbb/cccc";

第三个字符串应为

aaa/dddd

1 个答案:

答案 0 :(得分:1)

所以你实际上想要按/拆分并获取不在第二个字符串中的所有令牌?

string first = "aaa/bbb/cccc/dddd";
string[] firstParts = first.Split('/');
string second = "bbbb/cccc";
string[] secondParts = second.Split('/');
var missing = firstParts.Where(t1 => !secondParts.Any(t2 => t2.Contains(t1)));
string third = string.Join("/", missing);

结果是"aaa/dddd",这并不完全符合您的预期。你能澄清一下你期望"aaaa/dddd"的原因吗?