StephanP Geschrieben 1. August 2009 Geschrieben 1. August 2009 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!
0815FIA Geschrieben 1. August 2009 Geschrieben 1. August 2009 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.
JasonDelife Geschrieben 1. August 2009 Geschrieben 1. August 2009 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.
0815FIA Geschrieben 1. August 2009 Geschrieben 1. August 2009 Oh mein Gott, wir bauen hier irgendwelchen Kram, und dann finde ich das hier: TextInfo.ToTitleCase Method (System.Globalization) manmanman...
StephanP Geschrieben 2. August 2009 Autor Geschrieben 2. August 2009 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
StephanP Geschrieben 2. August 2009 Autor Geschrieben 2. August 2009 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
0815FIA Geschrieben 2. August 2009 Geschrieben 2. August 2009 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 :/
StephanP Geschrieben 2. August 2009 Autor Geschrieben 2. August 2009 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:
0815FIA Geschrieben 2. August 2009 Geschrieben 2. August 2009 Ähm ja, meine Aussage war auch falsch, in JasonDelifes Beispiel wird ja die Char.ToUpper() Methode genutzt, nicht die aus String
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden