python - aprendizaje básico de python - cadenas y expresiones regulares

Tabla de contenido

1. Operaciones comunes de cadenas

1.1 Concatenación de cadenas

1.2 Calcular la longitud de la cuerda

1.3 Intercepción de cadena

1.4 Separar y combinar cuerdas

1.5 Recuperar una cadena

1.6 Conversión de letras en mayúsculas

1.7 Eliminar espacios y caracteres especiales en cadenas

1.8 Formatear cadena

2. Conversión de codificación de cadenas

2.1 Utilice el método encode () para codificar

2.2 Utilice el método decode () para decodificar

3. Expresiones regulares

3.1 Localizador de línea

3.2 Metacaracteres

3.3 Calificador

3.4 Excluir personajes

3.5 Seleccionar personajes

3.6 caracteres de escape

3.7 Agrupación

Cuatro. Usa el módulo re para implementar operaciones de expresiones regulares

4.1 cadena a juego

4.2 Reemplazar cuerda

4.3 Usar expresiones regulares para dividir cadenas


1. Operaciones comunes de cadenas

1.1 Concatenación de cadenas

Utilice el operador "+" para completar el empalme de varias cadenas y generar un objeto de cadena.

Nota: las cadenas no pueden empalmarse directamente con otros tipos de datos

1.2 Calcular la longitud de la cuerda

La función len () calcula la longitud de una cadena

1.3 Intercepción de cadena

La cadena también es una secuencia, por lo que para interceptar la cadena, puede usar el método de corte para lograr

string[start:end:step]
str1 = "人生苦短,我用python"
length = len(str1)
print(length) #13
substr = str1[1:6:2]
print(substr) #生短我

1.4 Separar y combinar cuerdas

1) Cuerda separada

El método split () del objeto de cadena puede realizar la separación de cadenas, es decir, cortar una cadena en una lista de cadenas de acuerdo con el separador especificado

str1 = "明 日 学 院 官 网 >>> www.mingrisoft.com"
list1 = str1.split()
list2 = str1.split(">>>")
list3 = str1.split(".")
list4 = str1.split(" ",4) #只分割前4个
list5 = str1.split(">") #每个分割一次,没有得到内容的,将产生一个空元素
print(list1)
print(list2)
print(list3)
print(list4)
print(list5)
'''
['明', '日', '学', '院', '官', '网', '>>>', 'www.mingrisoft.com']
['明 日 学 院 官 网 ', ' www.mingrisoft.com']
['明 日 学 院 官 网 >>> www', 'mingrisoft', 'com']
['明', '日', '学', '院', '官 网 >>> www.mingrisoft.com']
['明 日 学 院 官 网 ', '', '', ' www.mingrisoft.com']

2) Combinar cuerdas

La cadena fusionada es diferente de la cadena empalmada, conectará varias cadenas juntas con un delimitador fijo

La combinación de cadenas se puede lograr utilizando el método join () del objeto de cadena

1.5 Recuperar una cadena

1) Método Count (): se utiliza para recuperar el número de veces que la cadena especificada aparece en otra cadena .

Si la cadena recuperada no existe, se devuelve 0; de lo contrario, se devuelve el número de ocurrencias.

2) método find ()

Este método se utiliza para recuperar si la subcadena especificada está incluida. Si la cadena recuperada no existe, devuelve -1, de lo contrario, devuelve el índice de la primera aparición de la cadena.

str.find(sub)

3) método index ()

El método index () es similar al método find (). También se usa para recuperar si la subcadena especificada está incluida. Cuando la cadena especificada no existe, se lanzará una excepción.

4) método startswith ()

El método start () se usa para recuperar si la cadena comienza con la cadena especificada, si es así, devuelve verdadero, de lo contrario devuelve falso

5) método termina con ()

El método endswith () se usa para recuperar si una cadena termina con una cadena especificada.

1.6 Conversión de letras en mayúsculas

La cadena proporciona métodos lower () y upper () para la conversión de letras en mayúsculas y minúsculas

str1.upper()
str1.lower()

1.7 Eliminar espacios y caracteres especiales en cadenas

1) strip () se usa para eliminar espacios y caracteres especiales en los lados izquierdo y derecho de la cadena

2) El método lstrip () se usa para eliminar espacios y caracteres especiales en el lado izquierdo de la cadena

str.lstrip()
str2.lstrip("@")

3) El método rstrip () se usa para eliminar espacios y caracteres especiales en el lado derecho de la cadena

1.8 Formatear cadena

1) Para lograr una cadena formateada, use el operador%

por ejemplo:% s cadena (mostrada por str ())

2) Utilice el método format () de la cadena para formatear la cadena

2. Conversión de codificación de cadenas

En python3.x, el formato de codificación predeterminado es utf-8, que resuelve eficazmente el problema de los caracteres ilegibles chinos.

2.1 Utilice el método encode () para codificar

El método encode () es un método del objeto str, que se utiliza para convertir una cadena en datos binarios (es decir, bytes), que también se convierte en una codificación.

verse = "野渡无人舟自横"
byte = verse.encode('gbk')

2.2 Utilice el método decode () para decodificar

El método decode () es un método de objeto de bytes que se utiliza para convertir datos binarios en una cadena, es decir, el resultado de la conversión mediante el método encode () se convierte en una cadena, también conocido como "decodificación".

print("解码后: ",byte.decode("GBK"))

3. Expresiones regulares

3.1 Localizador de línea

El localizador de línea es para describir el límite de la cadena, "^" significa el comienzo de la línea, "$" significa el final de la línea

^tm
tm$

3.2 Metacaracteres

3.3 Calificador

Por ejemplo, haga coincidir el número qq de 8 dígitos

^\d{8}$

3.4 Excluir personajes

Para hacer coincidir una cadena que no cumple con el conjunto de caracteres especificado, use ^

[^a-zA-Z]

3.5 Seleccionar personajes

Utilice el carácter de selección (|) para lograr

3.6 caracteres de escape

Personaje de escape (\)

3.7 Agrupación

Los paréntesis cambian el alcance del calificador

(six|four)th

Cuatro. Usa el módulo re para implementar operaciones de expresiones regulares

Python proporciona el módulo re para procesar operaciones de expresiones regulares. Puede utilizar los métodos search (), match (), findall (), etc.proporcionados por el módulo re

4.1 cadena a juego

1) Utilice el método match () para hacer coincidir

     Se usa para hacer coincidir desde el principio de la cadena. Si la coincidencia es exitosa en la posición inicial, devuelve el objeto de coincidencia, de lo contrario, devuelve Ninguno.

    Coincidir desde la posición inicial, cuando la primera letra no cumple las condiciones, no más coincidencia

re.match(pattern,string,[flags])
import re
pattern = r'mr_\w+'
string = 'MR_SHOP mr_shop'
match = re.match(pattern ,string,re.I)
print(match)  #<re.Match object; span=(0, 7), match='MR_SHOP'>
string = "项目名称MR_SHOP mr_shop"
match = re.match(pattern,string,re.I)
print(match) #None

2) Utilice el método de búsqueda () para hacer coincidir

import re
pattern = r'mr_\w+'
string = 'MR_SHOP mr_shop'
match = re.search(pattern ,string,re.I)
print(match)
string = "项目名称MR_SHOP mr_shop"
match = re.search(pattern,string,re.I)
print(match)
#<re.Match object; span=(0, 7), match='MR_SHOP'>
#<re.Match object; span=(4, 11), match='MR_SHOP'>

[Nota]: El método search () no es solo para buscar al principio de la cadena, sino también para buscar coincidencias en otras posiciones.

3) Utilice el método findAll () para hacer coincidir

El método findAll () se utiliza para buscar todas las cadenas que cumplen con la expresión regular en toda la cadena y devolverla en forma de lista. Si la coincidencia es exitosa, devuelve una lista que contiene la estructura coincidente; de ​​lo contrario, devuelve un lista vacía

import re
pattern = r'mr_\w+'
string = 'MR_SHOP mr_shop'
match = re.findall(pattern ,string,re.I)
print(match)
string = "项目名称MR_SHOP mr_shop"
match = re.findall(pattern,string,re.I)
print(match)
#['MR_SHOP', 'mr_shop']
#['MR_SHOP', 'mr_shop']

4.2 Reemplazar cuerda

El método sub () se usa para implementar el reemplazo de cadenas

import re
pattern = r'1[34578]\d{9}'
string = "中奖号码为13645611111,请领奖"
res = re.sub(pattern,"1*******",string)
print(res)
# 中奖号码为1*******,请领奖

4.3 Usar expresiones regulares para dividir cadenas

El método split () se utiliza para dividir la cadena de acuerdo con la expresión regular y devolverla en forma de lista.

Su función es similar al método split () del objeto string, la diferencia es que la cadena dividida es especificada por el patrón string

result = re.split(pattern,url)

 

Supongo que te gusta

Origin blog.csdn.net/yezonghui/article/details/113312099
Recomendado
Clasificación