Veröffentlicht 1. August 200916 j Hallo, beschäftige mich gerade mit C# und möchte, das eine Eingabe so bearbeitet wird, das jeder Anfangsbuchstabe groß geschrieben wird. Das bei einem Satz, bzw. bei der Eingabe von mehreren Wörtern die Wörter einzeln erkannt werden, habe ich bereits hinbekommen (mit str.Split) und entsprechenden Trennzeichen. Kann mir vielleicht jemand einen Denkanstoß geben? Vielen Dank!
1. August 200916 j private List<String> ConvertFirst2UpperCase(List<String> words) { char[] word; List<String> first2Upper = new List<String>(); for (int i = 0; i < words.Count; i++) { word = new char[words[i].Length]; word = words[i].ToCharArray(); //(char[])words[i]; word[0] = Convert.ToChar((word[0].ToString()).ToUpper()); first2Upper.Add(Convert.ToString(word)); } return first2Upper; } So müßte es klappen, mußt natürlich deine gefüllte Liste mit Worten als den Parameter übergeben.
1. August 200916 j So in etwa (Nicht getestet!): string phrase = "The quick brown fox jumps over the lazy dog"; string[] words = phrase.Split(new char[] { ' ' }); for(int i = 0; i < words.Length; ++i) { string word = words[i]; words[i] = word[0].ToUpper() + word.Substring(1); } phrase = string.Join(" ", words); Grüße, JasonDelife.
1. August 200916 j Oh mein Gott, wir bauen hier irgendwelchen Kram, und dann finde ich das hier: TextInfo.ToTitleCase Method (System.Globalization) manmanman...
2. August 200916 j Funktionert wunderbar! Ich frage mich allerdings, wie man auf den Namespace kommen soll, um auf die ensprechende Methode zu kommen. Letzendlich führen bekanntlich viele Wege ans Ziel. Ich bedanke mich bei Euch
2. August 200916 j Hallo JasonDelife, bei der angegebenen Lösung erscheint die Fehlermeldung: Fehler 2 Keine Überladung für die ToUpper-Methode nimmt 0 Argumente an. So richtig schlau bin ich daraus nicht geworden. Kannst Du mir vielleicht erklären,was da schief läuft? So in etwa (Nicht getestet!): string phrase = "The quick brown fox jumps over the lazy dog"; string[] words = phrase.Split(new char[] { ' ' }); for(int i = 0; i < words.Length; ++i) { string word = words[i]; words[i] = word[0].ToUpper() + word.Substring(1); } phrase = string.Join(" ", words); Grüße, JasonDelife. Vielen Dank und noch nen schönen Sonntag
2. August 200916 j Das bedeutet, das (angeblich) keine Überladung dieser Methode mit 0 übergebenen Parametern vorhanden ist. Lustig ist nur, das es definitiv eine mit 0 Parametern gibt :/
2. August 200916 j public List<String> ConvertFirstToUpper(List<String> text) { for (int i = 0; i < text.Count; i++) { text[i] = text[i][0].ToString().ToUpper() + text[i].ToString().Substring(1); } return text; } Vielen vielen Dank an alle, die in diesem Thread geholfen haben. jetzt müsste man ihn nur noch als gelöst markieren können :floet:
2. August 200916 j Ähm ja, meine Aussage war auch falsch, in JasonDelifes Beispiel wird ja die Char.ToUpper() Methode genutzt, nicht die aus String
Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.