¿Aprendiendo Python? Aquí se explica cómo manipular cadenas

Con Python puede manipular cadenas de varias formas. Python proporciona varias funciones, operadores y métodos que se pueden utilizar para manipular cadenas. Puede cortar una cadena, unir dos o más cadenas, interpolar variables en una cadena y muchas más.

Las cadenas en Python se pueden definir como una secuencia de caracteres. Son inmutables, lo que significa que no se pueden modificar una vez que se declaran. En cambio, se crea una copia de la cadena con fines de manipulación.

Cómo crear cadenas en Python

Crear cadenas en Python es tan fácil como asignar valor a una variable en Python. Puede utilizar comillas simples (''), comillas dobles ("") o tres comillas simples ('' '' '') / dobles ("" "" "") para crear cadenas.

 str1 = 'Hello!'
str2 = "Hello!"
str3 = """Hello!"""
str4 = '''Hello!'''
print(str1)
print(str2)
print(str3)
print(str4)

Producción:

 Hello!
Hello!
Hello!
Hello!

La ventaja de usar comillas dobles para crear una cadena es que puede usar un carácter de comillas simples dentro de las comillas dobles. Python tratará el carácter de comillas simples como parte de la Cadena.

 s = "Using 'single quote' inside double quotes"
print(s)

Producción:

 Using 'single quote' inside double quotes

Si desea crear una cadena de varias líneas, la mejor opción es usar tres comillas simples ('' '' '') / tres comillas dobles ("" "" ""). Al crear cadenas con comillas simples ('') o comillas dobles (""), debe utilizar el carácter de escape n para una nueva línea (salto de línea). Pero al usar tres comillas, no es necesario que haga eso.

 s1 = """This is a multiline
string using three double quotes"""
s2 = "This is a multiline
string using double quotes"
print(s1)
print(s2)

Producción:

 This is a multiline
string using three double quotes
This is a multiline
string using double quotes

Cómo acceder a los caracteres de cadena

Si desea acceder a caracteres individuales, entonces se usa Indexación ; si desea acceder a un rango de caracteres, entonces se usa Slicing .

Indexación de cadenas

Al igual que cualquier otro tipo de datos de Python, los índices de cadena comienzan con 0. El rango de índices va desde 0 hasta la longitud de la cadena: 1. Las cadenas de Python también admiten la indexación negativa: -1 puntos al último carácter de la cadena, -2 puntos al segundo último carácter de la cadena y así sucesivamente.

 s = "MAKEUSEOF"
# Prints whole string
print(s)
# Prints 1st character
print(s[0])
# Prints 2nd character
print(s[1])
# Prints last character
print(s[-1])
# Prints 2nd last character
print(s[-2])

Producción:

 MAKEUSEOF
M
A
F
O

Debe usar números enteros para acceder a los caracteres; de lo contrario, obtendrá un TypeError . Esto también sucederá si intenta acceder a elementos que están fuera de rango.

Error de tecleado:

 s = "MAKEUSEOF"
# TypeError will be thrown if you don't use integers
print(s[1.5])

Producción:

 TypeError: string indices must be integers

IndexError:

 s = "MAKEUSEOF"
# IndexError will be thrown if you try to use index out of range
print(s[88])

Producción:

 TypeError: string indices must be integers

Rebanado de cuerdas

Puede acceder a una gama de caracteres utilizando el operador dos puntos (:).

 s = "MAKEUSEOF"
# Prints from 0th index(included) to 4th index(excluded)
print(s[0:4])
# Prints from 3rd last index(included) to last index(excluded)
print(s[-3:-1])
# Prints from 2nd index to last of the string
print(s[2:])
# Prints from start of the string to 6th index(excluded)
print(s[:6])

Producción:

 MAKE
EO
KEUSEOF
MAKEUS

Cómo utilizar operadores en cadenas

Usando el operador +

El operador + se usa para concatenar / unir dos o más cadenas. Devuelve la cadena concatenada resultante.

 s1 = "MAKE"
s2 = "USE"
s3 = "OF"
s = s1 + s2 + s3
# Prints the concatenated string
print(s)

Producción:

 MAKEUSEOF

Usando el operador *

Se utiliza para repetir una cadena un número determinado de veces.

 str = "MUO-"
# Prints str 5 times
print(str * 5)
# Prints str 2 times
print(2 * str)
x = 3
# Prints str x times
# Here, x = 3
print(str * x)

Producción:

 MUO-MUO-MUO-MUO-MUO-
MUO-MUO-
MUO-MUO-MUO-

Uso del operador in

Este es un operador de pertenencia que verifica si el primer operando está presente en el segundo operando o no. Si el primer operando está presente en el segundo operando, devuelve Verdadero .

De lo contrario, devuelve False .

 str = "MAKEUSEOF"
# Returns True as MAKE is present in str
print("MAKE" in str)
# Returns False as H is not present in str
print("H" in str)

Producción:

 True
False

Usando el operador not in

Otro operador de membresía, no en trabajos opuestos al operador en. Si el primer operando está presente en el segundo operando, devuelve False . De lo contrario, devuelve True .

 str = "MAKEUSEOF"
# Returns True as Hello is not present in str
print("Hello" not in str)
# Returns False as M is present in str
print("M" not in str)

Producción:

 True
False

Secuencias de escape en cadenas

Usando las secuencias de escape, puede colocar caracteres especiales en la cadena. Todo lo que necesita hacer es agregar una barra invertida ( / ) justo antes del carácter del que desea escapar. Si no escapa del personaje, Python arroja un error.

 s = 'We are using apostrophe ' in our string'
print(s)

Producción:

 We are using apostrophe ' in our string

Cómo insertar variables en cadenas

Las variables se pueden usar dentro de las cadenas interpolando las variables entre llaves. Además, debe agregar una f minúscula o una F mayúscula justo antes de abrir la cita de la cadena.

 s1 = "Piper"
s2 = "a"
s3 = "pickled"
str = f"Peter {s1} picked {s2} peck of {s3} peppers"
# s1, s2 and s3 are replaced by their values
print(str)
a = 1
b = 2
c = a + b
# a, b and c are replaced by their values
print(f"Sum of {a} + {b} is equal to {c}")

Producción:

 Peter Piper picked a peck of pickled peppers
Sum of 1 + 2 is equal to 3

Cómo utilizar las funciones de cadena integradas

Función len ()

Esta función se usa para encontrar la longitud de la cadena. Es una de las funciones más utilizadas en Python.

 str = "MAKEUSEOF"
# Prints the number of characters in "MAKEUSEOF"
print(len(str))

Producción:

 9

función ord ()

Mientras tanto, esta función se usa para encontrar el valor entero de un carácter. Python es un lenguaje versátil, admite caracteres ASCII y Unicode .

 c1 = ord('M')
c2 = ord('a')
c3 = ord('A')
c4 = ord('$')
c5 = ord('#')
print(c1)
print(c2)
print(c3)
print(c4)
print(c5)

Producción:

 77
97
65
36
35

Función chr ()

Utilice chr () para encontrar el valor de carácter de un número entero.

 i1 = chr(77)
i2 = chr(97)
i3 = chr(65)
i4 = chr(36)
i5 = chr(35)
print(i1)
print(i2)
print(i3)
print(i4)
print(i5)

Producción:

 M
a
A
$
#

Relacionado: ¿Qué es el texto ASCII y cómo se usa?

Función str ()

Utilice esta función para convertir cualquier objeto de Python en una cadena.

 num = 73646
# Converts num (which is integer) to string
s = str(num)
# Prints the string
print(s)
# Type functions returns the type of object
# Here, <class 'str'> is returned
print(type(s))

Producción:

 73646
<class 'str'>

Cómo unir y dividir cadenas en Python

División de una cuerda

Puede usar el método split () para dividir la cadena en una lista de cadenas basada en un delimitador.

 str1 = "Peter-Piper-picked-a-peck-of-pickled-peppers"
splitted_list1 = str1.split('-')
# Prints the list of strings that are split by - delimiter
print(splitted_list1)
str2 = "We surely shall see the sun shine soon"
splitted_list2 = str2.split(' ')
# Prints the list of strings that are split by a single space
print(splitted_list2)

Producción:

 ['Peter', 'Piper', 'picked', 'a', 'peck', 'of', 'pickled', 'peppers']
['We', 'surely', 'shall', 'see', 'the', 'sun', 'shine', 'soon']

Unir cadenas

Puede utilizar el método join () para unir todos los elementos de un objeto iterable. Puede utilizar cualquier delimitador que desee para unir los elementos.

 list1 = ["I", "thought", "I", "thought", "of", "thinking", "of", "thanking", "you"]
# Joins the list as a string by using - as a delimiter
str1 = "-".join(list1)
print(str1)
list2 = ["Ed", "had", "edited", "it"]
# Joins the list as a string by using a single space as a delimiter
str2 = " ".join(list2)
print(str2)

Producción:

 I-thought-I-thought-of-thinking-of-thanking-you
Ed had edited it

Ahora comprende la manipulación de cadenas

Tratar con cadenas y textos es una parte integral de la programación. Las cadenas actúan como un medio para comunicar información del programa al usuario del programa. Con Python puede manipular las cadenas de la forma que desee.