C#获取两个字符串的交集
1.前缀交集
/// <summary>
/// 获取两个字符串的前缀交集
/// </summary>
/// <param name="str1"></param>
/// <param name="str2"></param>
/// <returns></returns>
public static string GetPrefixIntersect(string str1, string str2)
{
if (str1 == null || str2 == null) return null;
string result = string.Empty;
int len = str1.Length > str2.Length ? str2.Length : str1.Length;
for (int i = 0; i < len; i++)
{
if (str1[i] == str2[i]) result += str1[i];
else break;
}
return result;
}
2.所有交集
/// <summary>
/// 获取两个字符串的所有交集
/// </summary>
/// <param name="str1"></param>
/// <param name="str2"></param>
/// <returns></returns>
public static string GetIntersect(string str1, string str2)
{
if (str1 == null || str2 == null) return null;
return string.Join("", str1.Intersect(str2));
}