当我得到像 c:\folder1\a12\somefile.txt 这样的路径时,我想检查文件名是否包含目录 c:\folder1\a1。
上面的文件名应该返回 false。
该代码无权访问有问题的文件系统。它不需要检查文件或文件夹是否存在。只需遵循文件和目录名称约定即可。
如果代码可以处理备用路径分隔符/UNIX 路径,那就太好了。
这是代码:
namespace TrimTest
{
class Program
{
static void Main(string[] args)
{
string ToTrim = "PRN.NUL";
Console.WriteLine(ToTrim);
string Trimmed = ToTrim.TrimStart("PRN.".ToCharArray());
Console.WriteLine(Trimmed);
ToTrim = "PRN.AUX";
Console.WriteLine(ToTrim);
Trimmed = ToTrim.TrimStart("PRN.".ToCharArray());
Console.WriteLine(Trimmed);
ToTrim = "AUX.NUL";
Console.WriteLine(ToTrim);
Trimmed = ToTrim.TrimStart("AUX.".ToCharArray());
Console.WriteLine(Trimmed);
}
}
}
Run Code Online (Sandbox Code Playgroud)
输出是这样的:
PRN.NUL
UL
PRN.AUX
AUX
AUX.NUL
NUL
如您所见,TrimStart从NUL中取出了N. 但即使从PRN开始,它也不会对其他字符串这样做.
我尝试使用.NET Framework 3.5和4.0,结果是一样的.是否有任何解释导致这种行为的原因?