¿Alguien sabe de un modo realmente sencillo de mayúscula sólo la primera letra de una cadena, independientemente de la capitalización del resto de la cadena?

Por ejemplo:

asimpletest -> Asimpletest
aSimpleTest -> ASimpleTest

Me gustaría ser capaz de hacer todas las longitudes de cadena así.

InformationsquelleAutor Dan | 2008-12-09

9 Comentarios

  1. 70

    @saua es correcto, y

    s = s[:1].upper() + s[1:]

    funcionará para cualquier cadena.

    • Bueno! Esos son el tipo de pequeños trucos que no sé … que debo usar Python con más frecuencia.
    • ¿Por qué no s = s[0].upper() + s[1:]? ¿Por qué el [:1]?
    • Como @saua notas, s[0] se producirá en una cadena vacía.
  2. 138
    >>> b = "my name"
    >>> b.capitalize()
    'My name'
    >>> b.title()
    'My Name'
    • El uso de la biblioteca estándar es definitivamente el camino a seguir.
    • … excepto capitalizar() elimina cualquier otro existente tapas, que el interrogador explícitamente no queremos que suceda: ‘aSimpleTest’.capitalizar() => ‘Asimpletest’
    • están abajo de voto de todas las respuestas que no cumplan este requisito, o simplemente la mía 🙂 ? Aunque, estoy de acuerdo con tu observación. Blair Conrad respuesta más precisa. Pero, otras respuestas agregar valor en la presentación de información útil en torno a la cadena de capitalización, incluyendo la mía. Tres de ellos fueron añadidos después de la aceptación de la respuesta.
    • Yo diría que es «engañosa» en lugar de «valor añadido», cuando la respuesta no cumple con los requisitos de forma explícita en la pregunta, especialmente cuando no se señalan las limitaciones de su enfoque.
  3. 12

    Lo que acerca de your_string.title()?

    por ejemplo, "banana".title() -> Banana

    • str.title capitaliza cada palabra en la cadena de
    • La Rooy …que es exactamente lo que yo quería hacer sin necesidad de escribir una nueva def dividir, sacar provecho de cada palabra, y poner de nuevo juntos… upvote a skyler
  4. 8
    s = s[0].upper() + s[1:]

    Esto debería funcionar con todos los de la cadena, excepto para la cadena vacía (cuando s="").

    • me pegaba a él, y el suyo es más elegante.
  5. 5

    este hecho le da una palabra en mayúsculas, en lugar de sólo en mayúscula la primera letra

    capitalizar -> Capitalizar

    def capitalize(str): 
        return str[:1].upper() + str[1:].lower().......
  6. 3

    para poner en mayúscula la primera palabra;

    a="asimpletest"
    print a.capitalize()

    para hacer toda la cadena de mayúsculas uso de la sugerencia siguiente;

    print a.upper()

    esta es la más fácil, creo.

  7. -4
    str = str[:].upper()

    esta es la manera más fácil de hacer que en mi opinión

    • Esto es completamente erróneo, ya que convierte todos los caracteres de la cadena a mayúsculas. También, el [:] es inútil.

Dejar respuesta

Please enter your comment!
Please enter your name here