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()ここで使用できます

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 に答える
1

方法はstring.Substringあなたが探しているものですか?

于 2013-03-07T15:37:03.407 に答える
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 に答える