2015-09-21 7 views
5

最初のアルファベットと最後のアルファベットを読んだ後、C#で文字列を切り取りたいと思います。最初のアルファベットと最後のアルファベットを読み取った後にC#で文字列を解析します。

string name = "20150910000549659ABCD000007348summary.pdf";

string result = "ABCD000007348"; // Something like this 

string name = "1234 ABCD000007348 summary.pdf"; 

1234 "A" 来て、最後の "S" のを読んだ後、私はそれは常に、タイムスタンプだ場合、 "ABCD000007348"

+1

あなたは、「最初と最後のアルファベット」の意味を正確に何の詳細を与えることができますか?たぶんもう少しの例? – juharr

+1

よろしくお願いします!今、目標を達成するためにこれまでに何をしていますか? – Will

+0

静的なタイムスタンプなら、最初のN桁は気にしません。それはいつも 'summary.pdf'で終わるだろうか?もしそうなら、それに 'String.Replace()'を実行することもできます。 – sab669

答えて

3

だけで正規表現を使用します。

string CutString(string input) 
{ 
    Match result = Regex.Match(input, @"[a-zA-Z]+[0-9]+"); 
    return result.Value; 
} 
+0

ありがとうございました!!!! – user3106445

0

あなたは言わなかったのでしたいので来て最初はアルファベットの最初の文字を見つけるために文字列を繰り返し処理することを選択しました。s.Remove(0, n);ハードコーディングではなく、nは多くの桁がタイムスタンプに入っています。

string s = "20150910000549659ABCD000007348summary.pdf"; 
s = s.Replace("summary.pdf", String.Empty); 

int firstLetter = 0; 

foreach (char c in s) 
{ 
    if (Char.IsLetter(c)) 
    { 
     firstLetter = s.IndexOf(c); 
     break; 
    } 
} 

s = s.Remove(0, firstLetter); 
関連する問題