logo

Pitón | Dividir varios caracteres de una cadena

En Python, las cadenas son un tipo de datos básico que se utiliza para almacenar y trabajar con datos textuales. Dividir una cadena en numerosos caracteres es una actividad frecuente de procesamiento de texto en Python. Mientras codificaba o improvisaba sus habilidades de programación, seguramente debe haber encontrado muchos escenarios en los que deseaba utilizar dividir() en Python no dividir en un solo carácter sino en varios delimitadores a la vez. En este artículo veremos diferentes enfoques para cadena de pitón dividir múltiples delimitadores.

  Input:   'GeeksForGeeks, is an-awesome! website'   Output:   ['GeeksForGeeks, ', 'is', 'an-awesome!', 'website']   Explanation:   In This, we are splitting the multiple delimiters from the string.>

En Pitón Podemos utilizar diferentes enfoques para dividir varios delimitadores de la cadena. Con estos métodos, dividir y manipular caracteres individuales de una cadena en Python es sencillo.

  • Usando Función dividida
  • Usando reemplazar()
  • Usando re.dividir()
  • Usando re.findall()

Dividir cadena por múltiples delimitadores usando la función de división

En Python, podemos dividir varios caracteres de una cadena usando split(). Aquí, iteramos a través de cada delimitador y dividimos la cadena usando el Función dividir(). Después de dividir, unimos la lista resultante con espacios usando el función unirse () y dividimos la cadena modificada según los espacios en blanco para obtener la lista de cadenas deseada.



Python3




string>=> 'GeeksForGeeks, | is an-awesome! website'> delimiters>=> [>','>,>'|'>,>';'>,>'!'>]> for> delimiter>in> delimiters:> >string>=> ' '>.join(string.split(delimiter))> result>=> string.split()> print>(result)>

>

>

Producción

['GeeksForGeeks', 'is', 'an-awesome', 'website']>

Python dividido por varios caracteres usando reemplazar ()

En Python, podemos dividir varios caracteres de una cadena usando reemplazar(). Esta es una forma muy novata de hacer la división. No utiliza expresiones regulares y es ineficiente, pero aún así vale la pena intentarlo. Si conoce los caracteres que desea dividir, simplemente reemplácelos con un espacio y luego use dividir() .

Python3




json del objeto java
data>=> 'Let's_try, this now'> # printing original string> print>(>'The original string is : '> +> data)> # Using replace() and split()> # Splitting characters in String> res>=> data.replace(>'_'>,>' '>).replace(>', '>,>' '>).split()> print>(>'The list after performing split functionality : '> +> str>(res))>

>

>

Producción

The original string is : Let's_try, this now The list after performing split functionality : ['Let's', 'try', 'this', 'now']>

Python dividido por varios caracteres usando Re.split()

En Python, podemos dividir varios caracteres de una cadena usando volver a dividir(). Este es el método más eficaz y utilizado habitualmente para dividir varios caracteres a la vez. Hace uso de expresiones regulares (expresiones regulares) para hacer esto.

Python3




import> re> data>=> 'techcodeview.com, is_an-awesome ! website'> print>(>'The original string is : '> +> data)> # Using re.split()> # Splitting characters in String> res>=> re.split(>', |_|-|!'>, data)> print>(>'The list after performing split functionality : '> +> str>(res))>

>

ejemplos de programas en Python
>

Producción

The original string is : techcodeview.com, is_an-awesome ! website The list after performing split functionality : ['techcodeview.com', 'is', 'an', 'awesome ', ' website']>

La línea re.split(', |_|-|!', data) le dice a Python que divida los datos variables en los caracteres: , o _ o o ! . El símbolo | representa o. Hay algunos símbolos en expresiones regulares que se tratan como símbolos especiales y tienen diferentes funciones. Si desea dividir en dicho símbolo, debe escapar de él usando un (barra invertida) y necesita un espacio antes y después de los caracteres especiales.

Lista de caracteres especiales que deben tener caracteres de escape antes de usarlos:

.  + * ? [ ^ ] $ ( ) { } = | :>

Ejemplo: En este código, usamos resplit () para dividir caracteres de cadenas en Python.

Python3




import> re> newData1>=> 'techcodeview.com, is_an-awesome ! app + too'> # To split '+' with one espace before and after '+' symbol and use backslash> print>(re.split(>', |_|-|!|+'>, newData1))> newData2>=> 'techcodeview.com, is_an-awesome ! app+too'> # To split '+' without one espace before and after '+' symbol and use backslash> print>(re.split(>', |_|-|!|+'>, newData2))>

>

>

Producción

['techcodeview.com', ' is', 'an', 'awesome', ' app', 'too']>

Nota: Para saber más sobre expresiones regulares haga clic aquí .

Dividir cadena por múltiples delimitadores usando re.findall()

En Python, podemos dividir varios caracteres de una cadena usando refindall(). Esta es una forma un poco más arcana pero ahorra tiempo. También hace uso de expresiones regulares como arriba pero en lugar de .dividir() método, utiliza un método llamado . encuentra todos() . Este método encuentra todas las instancias coincidentes y devuelve cada una de ellas en una lista. Esta forma de dividir se utiliza mejor cuando no sabes exactamente los caracteres que deseas dividir.

comparar en cadena

Python3




import> re> data>=> 'This, is - another : example?!'> print>(>'The original string is : '> +> data)> # Using re.findall()> # Splitting characters in String> res>=> re.findall(r>'[w']+'>, data)> print>(>'The list after performing split functionality : '> +> str>(res))>

>

>

Producción

The original string is : This, is - another : example?! The list after performing split functionality : ['This', 'is', 'another', 'example']>

Aquí la palabra clave [w’]+ indica que encontrará todas las instancias de alfabetos o subrayado(_) uno o más y los devolverá en una lista. Nota: [w’]+ no se dividirá en un guión bajo ( _ ) mientras busca alfabetos y guiones bajos.

Ejemplo: En este código, estamos usando refindall () para dividir caracteres de cadenas en Pitón.

Python3




import> re> testData>=> 'This, is - underscored _ example?!'> print>(re.findall(r>'[w']+'>, testData))>

>

>

Producción

['This', 'is', 'underscored', '_', 'example']>

Clases de personajes

Hoja de trucos de expresiones regulares en la descripción del personaje

Clase de carácter taquigráfico Representa
d Cualquier dígito numérico del 0 al 9
D Cualquier carácter que no sea un dígito numérico del 0 al 9
En Cualquier letra, dígito numérico o carácter de subrayado
EN Cualquier carácter que no sea una letra, un dígito numérico o el carácter de subrayado
s Cualquier espacio, tabulación o carácter de nueva línea
S Cualquier carácter que no sea un espacio, tabulación o nueva línea.