2017-12-04 1 views
-1

* ich nicht diese doppelte Frage löschen kann, weil jemand hat es *An zweiter Stelle LastIndexOf C#

beantwortet habe ich formatiert Dateinamen CustomerInfoDaily.12042014.080043 und CustomerInfoDaily.A.12042014.080043 Ich versuche, die Basisnamen zu erhalten (CustomerInfoDaily) und das Basissuffix (.12042014.080043) mit Teilstrings. Es gibt keine Begrenzung für die Anzahl der Perioden jedoch das Suffix immer. \ D {8}. \ D {8}

string fn = "CustomerInfoDaily.A.12042014.080043"; 
string baseFileName = fn.Substring(0, fn.LastIndexOf(".",fn.Length-1,fn.Length)); 
string baseSuffix = fn.Substring(fn.LastIndexOf(".", 0, 2)); 

Das Problem ist, dass Sie sagen, können Sie den ersten oder letzten Punkt wollen, aber es ist nicht sagen, dass Sie die zweite bis letzte Instanz des Punktes wollen.

Jede Hilfe oder Beratung wäre sehr willkommen.

+1

Das ist nicht ganz richtig ist. Sie * können * eine Frage löschen, auch wenn sie eine Antwort hat, vorausgesetzt, die Antwort hat keine Upvotes und wird nicht akzeptiert. – robinCTS

Antwort

0

Betrachten string.Split mit:

string fn = "CustomerInfoDaily.A.12042014.080043"; 

var split = fn.Split('.'); 
var last = split.LastOrDefault(); 
var secondLast = split.Skip(split.Length - 2).FirstOrDefault(); 
Verwandte Themen