Tabla de contenido
1. Operaciones comunes de cadenas
1.2 Calcular la longitud de la cuerda
1.4 Separar y combinar cuerdas
1.6 Conversión de letras en mayúsculas
1.7 Eliminar espacios y caracteres especiales en cadenas
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
Cuatro. Usa el módulo re para implementar operaciones de expresiones regulares
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)