2017-12-07 2 views
0

Wie kann ich einen Teilstring von allem vor Punkt oder Komma bekommen?Holen Sie alles vor Punkt oder Komma C#

Zum Beispiel:

string input = "2.1"; 
int charLocation = text.IndexOf(".", StringComparison.Ordinal); 
    string test = input.Substring(0, charLocation); 

aber was ist, wenn ich eine input = "2,1"?

Ich möchte es in einer Methode tun, nicht zweimal eine Teilzeichenfolge (einmal für Punkt und einmal für Komma)?

+0

Versuchen Sie, Dezimalwerte zu parsen, die von verschiedenen Gebietsschemas stammen können? Wenn ja, bitte aktualisieren Sie Ihre Frage. Es gibt bessere Wege. – kettch

+0

Oder Sie könnten eine RegEx verwenden, dann haben Sie zwei Probleme :) – theMayer

Antwort

2
string test = input.Split(new Char[] { ',', '.' })[0]; 
0

Dies wird für die Zeichenfolge aufgeteilt entweder Komma oder Punkt ...

input.Split(',','.'); 
0

Verwenden Sie die IndexOfAny Funktion. Sie können eine Liste der zu suchenden Zeichen und nicht nur ein einzelnes Zeichen angeben. Sie könnten dann eine Teilzeichenfolge bis zum Rückgabewert dieser Funktion erstellen.

z.B.

char[] chars = { '.', ',' } 
String out = s.Substring(0,s.IndexOfAny(chars)); 
Verwandte Themen