insertar caracteres al principio y al final de una cadena


100

Soy nuevo y estoy tratando de encontrar una manera de insertar una serie de L al principio y al final de una cadena. Entonces, si tengo una cadena que dice

"¿Dónde puse mi cupcake esta mañana?"

Y quiero insertar 1 L al principio y 2 L al final, por lo que se ve así: "¿Dónde puse mi cupcake esta mañana?" ¿Cómo hago esto? gracias

Respuestas:


132

Las cadenas son inmutables, por lo que no puede insertar caracteres en una cadena existente. Tienes que crear una nueva cadena. Puede usar la concatenación de cadenas para hacer lo que quiera:

yourstring = "L" + yourstring + "LL"

Tenga en cuenta que también puede crear una cadena con n Ls mediante la multiplicación:

m = 1
n = 2
yourstring = ("L" * m) + yourstring + ("L" * n)

27

Para completar junto con las otras respuestas:

yourstring = "L%sLL" % yourstring

O, más compatible con Python 3.x:

yourstring = "L{0}LL".format(yourstring)

3
Para el segundo ejemplo, usar solo un argumento para .format el '0' es innecesario, ¿verdad?
quapka

@quapka: Es necesario si el código debe ser compatible con Python 2.6
Hubert Kario

26

También puede utilizar unirse:

yourstring = ''.join(('L','yourstring','LL'))

Resultado:

>>> yourstring
'LyourstringLL'

9

Si desea insertar otra cadena en algún otro lugar de la cadena existente, puede utilizar el método de selección a continuación.

Personaje de llamada en segunda posición:

>>> s = "0123456789"
>>> s[2]
'2'

Rango de llamada con posición inicial y final:

>>> s[4:6]
'45'

Llamar a parte de una cadena antes de esa posición:

>>> s[:6]
'012345'

Llamar a parte de una cadena después de esa posición:

>>> s[4:]
'456789'

Insertando su cuerda en la quinta posición.

>>> s = s[:5] + "L" + s[5:]
>>> s
'01234L56789'

También ses equivalente a s[:].

Con tu pregunta puedes usar toda tu cadena, es decir

>>> s = "L" + s + "LL"

o si "L"es alguna otra cadena (por ejemplo, la llamo como l), entonces puede usar ese código:

>>> s = l + s + (l * 2)


2

Digamos que tenemos una cadena llamada yourstring:

for x in range(0, [howmanytimes you want it at the beginning]):
    yourstring = "L" + yourstring
for x in range(0, [howmanytimes you want it at the end]):
    yourstring += "L"

0

Estoy representando una URL por entrada del usuario. Allí, si el usuario ingresa una cadena con dos palabras, quiero imprimir la palabra con + en el medio

Ejemplo

key = input("Enter the product :")

URL = "http://exmaple.com/"

print (URL)

User input: iphone 11

Para el código anterior, obtengo una URL como " http://exmaple.com/iphone 11"

Pero quiero imprimir la URL como " http://exmaple.com/iphone+11 "

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.