C# C获取文件名的第一个字符
我有一个目录名C:\Folder\160\u name\u 201311914447.7z我需要的是从C中的文件名中提取160,并使用它将其传递给MS-SQL方法,以便将文件移动到正确的文件,即160C# C获取文件名的第一个字符,c#,string,directory,C#,String,Directory,我有一个目录名C:\Folder\160\u name\u 201311914447.7z我需要的是从C中的文件名中提取160,并使用它将其传递给MS-SQL方法,以便将文件移动到正确的文件,即160 请帮帮我,因为我对C有点陌生。试试这样的方法: Path.GetFileName(@"C:\Folder\160_Name_2013111914447.7z").Split('_')[0]; 或者可能 string fileName = Path.GetFileName(@"C:\Folder\
请帮帮我,因为我对C有点陌生。试试这样的方法:
Path.GetFileName(@"C:\Folder\160_Name_2013111914447.7z").Split('_')[0];
或者可能
string fileName = Path.GetFileName(@"C:\Folder\160_Name_2013111914447.7z");
Regex.Match(fileName, "^([0-9]+)_").Groups[1].Value;
如果需要获取前3个符号,可以使用string类的方法: 如果可以使用可变长度的键字符,并且下划线字符是分隔符,那么我们必须稍微修改上面的代码。首先,我们需要下划线的索引:
string fileName = Path.GetFileName(@"C:\Folder\160_Name_2013111914447.7z");
// get the zero-based index of the first occurrence of an underscore:
int underscoreIndex = fileName.IndexOf("_");
如果未找到匹配项,则这些方法返回-1,因此我们需要检查它
if (underscoreIndex >= 0)
{
string extracted = fileName.Substring(0, underscoreIndex);
}
else
{
// no underscore found
throw new InvalidOperationException(
"Cannot extract data from file name: " + fileName);
}
若要获取数字,请假定您输入的文件路径始终位于开头,并且长度为3个字符,您可以使用
FileInfo fileInfo = new FileInfo(path);
string name = fileInfo .Name;
int startingNumber = Convert.ToInt32(name.Substring(0,3));
其中path是使用的文件的完整路径是否要获取文件名中的前3个字符?还是从一开始到第一个字符?这就是你的模式?@SonerGönül文件名通常不会有3个字符。它可能是第一个4或6谢谢您,在这种情况下,这将起作用,因为第一个字符的数量并不总是3。塔克斯
FileInfo fileInfo = new FileInfo(path);
string name = fileInfo .Name;
int startingNumber = Convert.ToInt32(name.Substring(0,3));