将文件名拆分为2组

时间:2013-03-07 15:34:36

标签: c# split project filenames

我正在创建一个“Filewatches”文件夹的应用程序,当在那里创建文件时,它将自动邮寄给客户。

问题是我没有找到有关如何拆分文件名的任何信息

例如,我有一个名为“Q1040500005.xls”

的文件

我需要从最后5个分开的前5个字符,所以基本上把它分成两半(没有课程的延伸)

我的应用程序必须将“Q1040”和“500005”识别为单独的字符串。 这将在数​​据库中识别,其中包含查询号(Q1040)和客户号“500005”客户的电子邮件和查询文件的主题。

我怎样才能以最简单的方式做到这一点?

感谢您的帮助!

4 个答案:

答案 0 :(得分:2)

使用SubString方法http://msdn.microsoft.com/es-es/library/aka44szs(v=vs.80).aspx

int lengthFilename = filename.Length - 4; //substract the string ".xls";
int middleLength = lengthFilename/2;
String filenameA = filename.SubString(0, middleLength);
String filenameB = filename.SubString(middleLength, lengthFilename - middleLength);

答案 1 :(得分:1)

string.Substring方法是您要找的吗?

答案 2 :(得分:1)

您可以在此使用string.SubString()

string a  = fileName.SubString(0, 5); // "Q1040"
string b  = fileName.SubString(5, 5); // "50000" <- Are you sure you didn't mean "last 6"?
string b2 = fileName.SubString(5, 6); // "500005"

只有两个字符串都有一个固定的固定长度

时,这才有效

修改

另一方面,如果两个字符串都有可变长度,我建议你使用分隔符来划分它们("Q1040-500005.xml"),然后使用string.Split()

string[] separatedStrings = fileName.Split(new char[] { '-', '.' });
string a         = separated[0]; // "Q1040"
string b         = separated[1]; // "500005"
string extension = separated[2]; // "xls"

答案 3 :(得分:1)

使用String.SubString(int startindex, int length)

String filename = Q1040500005.xls

var queryNumber = filename.Substring(0, 5); //Q1040
var customerNumber = filename.Substring(5, 6); //500005

这假设你的字符串是一个恒定的长度。

希望这有帮助。