inserir caracteres no início e no final de uma string

100

Sou novo e estou tentando encontrar uma maneira de inserir vários L's no início e no final de uma string. Então, se eu tiver uma string que diz

"onde eu coloquei meu cupcake esta manhã"

E eu quero inserir 1 L no início e 2 L no final, então parece: "Onde eu coloquei meu cupcake esta manhãLL" Como faço isso. obrigado

user1319219
fonte

Respostas:

132

Strings são imutáveis, então você não pode inserir caracteres em uma string existente. Você tem que criar uma nova string. Você pode usar a concatenação de strings para fazer o que quiser:

yourstring = "L" + yourstring + "LL"

Observe que você também pode criar uma string com n Ls usando a multiplicação:

m = 1
n = 2
yourstring = ("L" * m) + yourstring + ("L" * n)
Mark Byers
fonte
27

Para integridade junto com as outras respostas:

yourstring = "L%sLL" % yourstring

Ou, mais compatível com Python 3.x:

yourstring = "L{0}LL".format(yourstring)
C2H5OH
fonte
3
Para o segundo exemplo, usar apenas um argumento para .format o '0' é desnecessário, certo?
quapka
@quapka: É necessário se o código precisa ser compatível com Python 2.6
Hubert Kario
26

Você também pode usar o join:

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

Resultado:

>>> yourstring
'LyourstringLL'
Akavall
fonte
9

Se você quiser inserir outra string em outro lugar na string existente, você pode usar o método de seleção abaixo.

Chamando personagem na segunda posição:

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

Alcance de chamada com posição inicial e final:

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

Chamando parte de uma string antes dessa posição:

>>> s[:6]
'012345'

Chamando parte de uma string após essa posição:

>>> s[4:]
'456789'

Inserindo sua corda na 5ª posição.

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

Também sé equivalente a s[:].

Com sua pergunta, você pode usar toda a sua string, ou seja,

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

ou se "L"for alguma outra string (por exemplo, eu chamo de l), então você pode usar esse código:

>>> s = l + s + (l * 2)
XCanG
fonte
4

Somando-se à resposta do C2H5OH , no Python 3.6+ você pode usar strings de formato para torná-lo um pouco mais limpo:

s = "something about cupcakes"
print(f"L{s}LL")
Ryanjdillon
fonte
2

Digamos que temos uma string chamada 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"
ytpillai
fonte
0

Estou processando uma URL por entrada do usuário. Lá, se o usuário inserir uma string com duas palavras, quero imprimir a palavra com + entre

Exemplo

key = input("Enter the product :")

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

print (URL)

User input: iphone 11

Para o código acima, recebo um URL como " http://exmaple.com/iphone 11"

Mas quero imprimir o URL como " http://exmaple.com/iphone+11 "

Dusky Dood
fonte