如何比较C#中的部分路径



如何比较C#中的路径?我需要比较这两条路线:

C:Users*AppDataLocalArchivos temporales de Internet
C:UsersjuanitoAppDataLocalArchivos temporales de Internet

尽管用户不同,但它们在其他方面都是相同的,所以我需要代码来识别它们是平等的。

我认为在这个

if (C:UsersjuanitoAppDataLocalArchivos temporales de Internet == C:Users ..AppDataLocalArchivos temporales de Internet)
{
// great
}

但不起作用

有什么帮助吗?

提前感谢

希望这能帮助

首先,转到regex101或其他类似的网站,通过测试字符串找出regex模式

然后会发现一些模式,如
C:\Users\(w+)\AppData\Local\ArchivosstemporalessdesInternet

其次,使用.NET的Regex类来匹配字符串,[user]文件夹可以使用Regex模式。

using System.Text.RegularExpressions;
// Regex can use as static class 
// and this will return a bool result that your pattern is matched or not
Regex.IsMatch(input, @"C:\Users\(w+)\AppData\Local\Archivos temporales de Internet");

然后使用IsMatch的布尔结果来比较这两个相等或不是的字符串

.NET 6控制台应用程序的示例

// See https://aka.ms/new-console-template for more information
using System.Text.RegularExpressions;
Console.WriteLine("Start testing regex ...");
string testDataA = @"C:UsersjuanitoAppDataLocalArchivos temporales de Internet";
string testDataB = @"C:UsersSteveAppDataLocalArchivos temporales de Internet";
string testDataC = @"C:UsersjohnAppDataLocalArchivos temporales de Internet";
if (IsMatchPattern(testDataA) == IsMatchPattern(testDataB))
{
Console.WriteLine("Matched A == B");
}
if (IsMatchPattern(testDataA) == IsMatchPattern(testDataC))
{
Console.WriteLine("Matched A == C");
}
if (IsMatchPattern(testDataB) == IsMatchPattern(testDataC))
{
Console.WriteLine("Matched B == C");
}
static bool IsMatchPattern(string input)
{
return Regex.IsMatch(input, @"C:\Users\(w+)\AppData\Local\Archivos temporales de Internet");
}
Console.ReadLine();

相关内容

  • 没有找到相关文章

最新更新