Comment une chaîne de caractères en minuscules, sauf pour le premier personnage avec le C#
Comment convertir une chaîne en minuscules, sauf pour le premier caractère?
Cela peut-il être complété avec LINQ?
Grâce
Je ne peux pas vous seulement de réduire les cas tout ça puis re-mettre en majuscule le premier caractère?
lloyd, n'a qu', voir ma réponse ci-dessous 🙂
lloyd, n'a qu', voir ma réponse ci-dessous 🙂
OriginalL'auteur Ricky | 2010-12-13
Vous devez vous connecter pour publier un commentaire.
D'accord. Je upvoted Oded réponse, trop. Mais c'est quelque chose que je voulais essayer à l'aide de LINQ que l'OP a dit.
OriginalL'auteur decyclone
Si vous n'avez qu'un seul mot dans la chaîne, vous pouvez utiliser
TextInfo.ToTitleCase
. Pas besoin d'utiliser Linq.Comme @Guffa noter:
Ceci permet de convertir une chaîne en majuscules, donc, "bonjour le monde" et "HELLO WORLD" seraient convertis à "Hello World".
Pour atteindre exectly ce que vous avez demandé (convertir tous les caractères à la baisse, à l'exception de la première), vous pouvez effectuer les opérations suivantes:
"THIS AND THAT"
en"This and that"
il va le transformer en"This And That"
.Addendum: je viens de remarquer que
ToTitleCase
laisse une majuscules chaîne inchangé. Ce sera à son tour"hello world"
en"Hello World"
, mais il laissera"HELLO WORLD"
inchangé.Je seconde ce que Guffa dit; la description ici dit donc: msdn.microsoft.com/en-us/library/...
OriginalL'auteur Oded
Cela peut être fait avec de simples opérations de la chaîne:
Noter que ce n'est exactement ce que vous avez demandé, c'est à dire qu'il convertit tous les caractères en minuscules sauf la première qui est laissé inchangé.
Si vous souhaitez modifier le premier caractère en majuscule, vous feriez:
Notez que ce code suppose qu'il existe au moins deux caractères dans les cordes. Si il ya une possibilité que c'est plus court, vous devez bien sûr test pour cette première.
Ce code fonctionne avec une seule chaîne de caractères.
OriginalL'auteur Guffa
Utilisation de l'espace de noms:
using System.Globalization;
...
MODIFIER
Ce code fonctionne seulement si son seul mot .Pour convertir tous les caractères dans le bas-à l'exception de la première lettre de vérifier Guffa Réponse.
"THIS AND THAT"
en"This and that"
il va le transformer en"This And That"
.Addendum: je viens de remarquer que
ToTitleCase
laisse une majuscules chaîne inchangé. Ce sera à son tour"this and that"
en"This And That"
, mais il laissera"THIS AND THAT"
inchangé.OriginalL'auteur Vyas Dev
Pas sûr que vous pouvez le faire dans linq, voici une approche de linq:
OriginalL'auteur Rob
basé sur guffa l'exemple ci-dessus (légèrement modifiée). vous pouvez convertir une méthode d'extension (veuillez pardonner le mal nommée méthode :)):
utilisation:
acclamations guffa
OriginalL'auteur jim tollan
OriginalL'auteur