Estoy desarrollando una aplicación para iPhone. En una etiqueta, quiero mostrar la primera letra del nombre mayúscula de un usuario. ¿Cómo puedo hacer eso?¿Cómo hacer la primera letra en mayúscula en un UILabel?
Respuesta
Si sólo hay una palabra-NSString, a continuación, utilizar el método
NSString *capitalizedString = [myStr capitalizedString]; // capitalizes every word
De lo contrario, para las cadenas de múltiples palabras, tiene que extraer primero el carácter y hacer sólo eso de caracteres en mayúsculas.
como se indica a continuación: este método escribe cada palabra del 'NSString' –
" capitalizedString "Devuelve: una cadena con el primer carácter de cada palabra en el receptor cambió a su valor en mayúscula correspondiente y todos los caracteres restantes a sus valores minúsculos correspondientes . – fullMoon
Esta respuesta es correcta e incorrecta – Mutawe
(2014-07-24: La respuesta aceptada actualmente no es correcta) La pregunta es muy específica: Ponga la primera letra en mayúscula, deje el resto en minúscula. El uso de mayúscula en mayúscula produce un resultado diferente: "Cadena en mayúscula" en lugar de "Cadena en mayúscula". Existe otra variante dependiendo de la configuración regional, que es capitalizedStringWithLocale, pero no es correcto para español, en este momento está usando las mismas reglas que en Inglés, por lo que esta es la forma en que lo estoy haciendo para el español:
NSString *abc = @"this is test";
abc = [NSString stringWithFormat:@"%@%@",[[abc substringToIndex:1] uppercaseString],[abc substringFromIndex:1] ];
NSLog(@"abc = %@",abc);
¿No es eso exactamente lo que hace la respuesta del berilio? –
No, la respuesta de Beryllium capitaliza cada palabra de un NSString. –
esto arrojará una excepción en la cadena vacía –
esto es para su categoría NSString+Util
...
- (NSString *) capitalizedFirstLetter {
NSString *retVal;
if (self.length < 2) {
retVal = self.capitalizedString;
} else {
retVal = string(@"%@%@",[[self substringToIndex:1] uppercaseString],[self substringFromIndex:1]);
}
return retVal;
}
Usted puede hacer eso con NSString stringWithFormat
, por supuesto. Yo uso esta rareza:
#define string(...) \
[NSString stringWithFormat:__VA_ARGS__]
No es necesario verificarlo porque no se llamará a su método de categoría en ese caso. Y las primeras tres condiciones se pueden reemplazar con if (self.length <= 1) return self.capitalizedString por simplicidad. –
Tienes razón, pero creo que si el String fuera desasignado, podría ser nulo. Su punto permanece, sobre simplificar. Gracias –
Incluso si la cadena fue desasignada (lo que solo podría suceder en un contexto multiproceso con gestión de memoria errónea), el self seguiría siendo un puntero colgante y no sería nulo. –
aquí es una extensión rápida de que
extension NSString {
func capitalizeFirstLetter() -> NSString {
return self.length > 1 ?
self.substringToIndex(1).capitalizedString + self.substringFromIndex(1) :
self.capitalizedString
}
}
Ésta es la forma en que trabajó para mí:
NSString *serverString = jsonObject[@"info"];
NSMutableString *textToDisplay = [NSMutableString stringWithFormat:@"%@", serverString];
[textToDisplay replaceCharactersInRange:NSMakeRange(0, 1) withString:[textToDisplay substringToIndex:1].capitalizedString];
cell.infoLabel.text = textToDisplay;
espero que ayude.
Swift:
let userName = "hard CODE"
yourLabel.text = userName.localizedUppercaseString
recomiendo el uso de esta versión localizada de mayúsculas, ya que los nombres son sensible al entorno local.
En caso de que alguien todavía está interesada en el año 2016, aquí es una Swift 3 extensión:
extension String {
func capitalizedFirst() -> String {
let first = self[self.startIndex ..< self.index(startIndex, offsetBy: 1)]
let rest = self[self.index(startIndex, offsetBy: 1) ..< self.endIndex]
return first.uppercased() + rest.lowercased()
}
func capitalizedFirst(with: Locale?) -> String {
let first = self[self.startIndex ..< self.index(startIndex, offsetBy: 1)]
let rest = self[self.index(startIndex, offsetBy: 1) ..< self.endIndex]
return first.uppercased(with: with) + rest.lowercased(with: with)
}
}
continuación, se utiliza exactamente como si se tratara de la habitual uppercased() o en mayúsculas():
myString.capitalizedFirst()
o myString.capitalizedFirst(with: Locale.current)
Simplemente
- (NSString *)capitalizeFirstLetterOnlyOfString:(NSString *)string{
NSMutableString *result = [string lowercaseString].mutableCopy;
[result replaceCharactersInRange:NSMakeRange(0, 1) withString:[[result substringToIndex:1] capitalizedString]];
return result;
}
- 1. strftime hacer la primera letra mayúscula (mayúscula) en PHP
- 2. Poner en mayúscula la primera letra. MySQL
- 3. Primera letra mayúscula para EditText
- 4. ¿Cómo se muestra la primera letra en mayúscula?
- 5. mayúscula la primera letra de cada palabra
- 6. XSL - ¿Cómo se escribe en mayúscula la primera letra
- 7. Convertir la primera letra en cadena en mayúscula
- 8. Poner en mayúscula la primera letra en ruby
- 9. Devolver la primera letra de NSString en mayúscula
- 10. ¿Cómo se escribe en mayúscula la primera letra de la primera palabra en una oración?
- 11. C#: nombres de métodos con la primera letra en mayúscula?
- 12. Poner en mayúscula la primera letra de las oraciones CSS
- 13. Hacer la primera letra en mayúscula y el resto en minúscula en una cadena
- 14. Cómo hacer una primera letra capital en C#
- 15. La primera letra del nombre del archivo Git mayúscula
- 16. Cómo mayúscula en la primera letra después de un guión, es decir, Adam Smith-Jones
- 17. Cómo encontrar la primera letra que no sea mayúscula en la cadena usando python
- 18. ¿Cómo puedo escribir en mayúscula la primera letra de cada palabra en una cadena en Perl?
- 19. Compruebe si la primera letra de la palabra es una letra mayúscula
- 20. ¿Cómo paso a la siguiente letra mayúscula?
- 21. Cómo mayúsculas en la primera letra del texto
- 22. ¿Primera letra del mayúscula de Javascript/jQuery con algunas excepciones?
- 23. Capitalizar/Poner en mayúscula la primera letra de cada palabra en una cadena en Matlab?
- 24. ¿Cómo puedo escribir en mayúscula la primera letra de una entrada?
- 25. Comprobando si la primera letra de la cadena está en mayúscula
- 26. Obtener la posición de la primera letra mayúscula en una cadena utilizando php
- 27. palabra dividida por la letra mayúscula
- 28. ¿Cómo hago para que la primera letra de una cadena sea mayúscula?
- 29. Capitaliza automáticamente la primera letra de la primera palabra en una nueva oración en LaTeX
- 30. python capitalizar la primera letra solo
¿Dónde quieres mostrarlo? En un cuadro de texto o una etiqueta o ...? –
¿Ha comprobado la documentación de NSString para algún método que parece que devuelve una cadena en mayúscula? – UIAdam
Si está haciendo esto con un apellido, tenga en cuenta que las reglas de mayúsculas y minúsculas varían según el apellido. Ciertos apellidos, como McDonald u O'Conor, tienen letras mayúsculas distintas a la primera. –