Mensajes: 53
Temas: 23
Registro en: Aug 2018
Reputación:
0
Hola, tengo este string: "\x1b[;36m". Me gustaría reemplazar el 3 por 4.
Pero también tengo esta variable: "\x1b[1;36m", la cual también debo reemplazar el 3 por 4.
Esto debo ponerlo dentro de esta función:
Código: def textbackground(bgcolor): """ Put 4 bit color to background """ puts(bgcolor)
También tengo esta variable, pero esta en 0x4, le tengo que añadir un cero, lo cual no he logrado...
Saludos
Mensajes: 1.142
Temas: 3
Registro en: Feb 2016
Reputación:
66
Hola, podés usar el método replace() de las cadenas.
Está ejemplificado en este artículo: https://recursospython.com/guias-y-manua...s-cadenas/.
Saludos
Mensajes: 53
Temas: 23
Registro en: Aug 2018
Reputación:
0
07-09-2018, 09:52 PM
(Última modificación: 08-09-2018, 05:59 PM por konniskatt.)
(07-09-2018, 09:33 PM)Francisco escribió: Hola, podés usar el método replace() de las cadenas.
Está ejemplificado en este artículo: https://recursospython.com/guias-y-manua...s-cadenas/.
Saludos
Gracias, pero se da la situacion de que si se tiene una string como esta: "\x1b[1;33m", reemplazará ambos 3, y solo se debe reemplazar el primer 3.
Mensajes: 1.142
Temas: 3
Registro en: Feb 2016
Reputación:
66
08-09-2018, 07:18 PM
(Última modificación: 08-09-2018, 07:18 PM por Francisco.)
Entonces podés inventar algo así:
def replace_first(s, a, b): index = s.find(a) if index == -1: return s return "".join((s[:index], b, s[index + 1:])) print(replace_first("\x1b[;36m", "3", "4")) print(replace_first("\x1b[1;36m", "3", "4"))
Mensajes: 53
Temas: 23
Registro en: Aug 2018
Reputación:
0
(08-09-2018, 07:18 PM)Francisco escribió: Entonces podés inventar algo así:
def replace_first(s, a, b): index = s.find(a) if index == -1: return s return "".join((s[:index], b, s[index + 1:])) print(replace_first("\x1b[;36m", "3", "4")) print(replace_first("\x1b[1;36m", "3", "4"))
Muchas gracias, y en especial a su paciencia.
Mensajes: 53
Temas: 23
Registro en: Aug 2018
Reputación:
0
(08-09-2018, 07:18 PM)Francisco escribió: Entonces podés inventar algo así:
def replace_first(s, a, b): index = s.find(a) if index == -1: return s return "".join((s[:index], b, s[index + 1:])) print(replace_first("\x1b[;36m", "3", "4")) print(replace_first("\x1b[1;36m", "3", "4"))
Por cierto, se me olvidaba, como para añadirle un 0 a un valor hexadecimal?
Ej: Tenemos la variable a = 0x3, y quisiera añadirle un 0 mas para que quede como 0x30.
Cuando se hace cualquier operación con un hexadecimal, (que es un integer), el 0x se elimina.
Mensajes: 1.142
Temas: 3
Registro en: Feb 2016
Reputación:
66
0x3 y 0x30 son dos números diferentes, equivalen al 3 y al 48 en el sistema decimal, respectivamente.
|