0

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

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

例如,我有一个名为:“Q1040500005.xls”的文件

我需要前 5 个字符与后 5 个字符分开,所以基本上将它分成两半(当然没有扩展名)

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

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

谢谢您的帮助!

4

4 回答 4

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);
于 2013-03-07T15:41:10.693 回答
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

这假设您的字符串是恒定长度。

希望这可以帮助。

于 2013-03-07T15:40:55.310 回答
1

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

于 2013-03-07T15:37:03.407 回答
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"
于 2013-03-07T15:37:44.543 回答