Principais Métodos de Strings em Python
Vamos considerar os principais métodos de strings que podemos aplicar em nossas aplicações:
- isalpha(): retorna- Truese a string consiste apenas de caracteres alfabéticos.
- islower(): retorna- Truese a string consiste apenas de caracteres em minúsculas.
- isupper(): retorna- Truese todos os caracteres da string estão em maiúsculas.
- isdigit(): retorna- Truese todos os caracteres da string são dígitos.
- isnumeric(): retorna- Truese a string representa um número.
- startswith(str): retorna- Truese a string começa com a substring- str.
- endswith(str): retorna- Truese a string termina com a substring- str.
- lower(): converte todos os caracteres da string para minúsculas.
- upper(): converte todos os caracteres da string para maiúsculas.
- title(): converte para maiúscula o primeiro caractere de cada palavra na string.
- capitalize(): converte para maiúscula apenas o primeiro caractere da primeira palavra da string.
- lstrip(): remove os espaços em branco iniciais da string.
- rstrip(): remove os espaços em branco finais da string.
- strip(): remove os espaços em branco iniciais e finais da string.
- ljust(width): se o comprimento da string for menor que o parâmetro- width, adiciona espaços à direita para completar o valor de- width, alinhando a string à esquerda.
- rjust(width): se o comprimento da string for menor que o parâmetro- width, adiciona espaços à esquerda para completar o valor de- width, alinhando a string à direita.
- center(width): se o comprimento da string for menor que o parâmetro- width, adiciona espaços igualmente à esquerda e à direita para completar o valor de- width, alinhando a string ao centro.
- find(str[, start[, end]]): retorna o índice da substring na string. Se a substring não for encontrada, retorna- -1.
- replace(old, new[, num]): substitui uma substring por outra na string.
- split([delimitador[, num]]): divide a string em substrings com base no delimitador.
- partition(delimitador): divide a string pelo delimitador em três partes e retorna uma tupla com três elementos: a substring antes do delimitador, o delimitador e a substring após o delimitador.
- join(strs): une uma sequência de strings em uma única string, inserindo um delimitador específico entre elas.
Por exemplo, se esperamos a entrada de um número pelo teclado, podemos verificar com o método isnumeric() se realmente foi digitado um número antes de convertê-lo:
num = input('Digite um número: ')
if num.isnumeric():
    num = int(num)
    print(f'O número digitado foi {num}')
else:
    print('Você não digitou um número!')Verificando se a string começa ou termina com uma determinada substring:
file_name = "hello.py"
starts_with_hello = file_name.startswith("hello")   # True
ends_with_exe = file_name.endswith("exe")           # FalseRemovendo espaços em branco no início e no fim da string:
string = "   hello  world!  "
string = string.strip()
print(string)           # hello  world!Complementando a string com espaços e alinhamento:
print("abc".rjust(3))
print("def".rjust(4))
print("ghi".rjust(5))abc def ghi
Pesquisa em strings
Para buscar uma substring em uma string, usamos o método find(), que retorna o índice da primeira ocorrência da substring e possui três formas:
- find(str): a busca da substring- stré realizada do início ao fim da string.
- find(str, start): o parâmetro- startdefine o índice inicial a partir do qual a busca será realizada.
- find(str, start, end): o parâmetro- enddefine o índice final até o qual a busca será realizada.
Se a substring não for encontrada, o método retorna -1:
welcome = "Hello world! Goodbye world!"
index = welcome.find("wor")
print(index)       # 6
# busca a partir do índice 10
index = welcome.find("wor", 10)
print(index)       # 21
# busca do índice 10 ao 15
index = welcome.find("wor", 10, 15)
print(index)       # -1Substituição em strings
Para substituir uma substring por outra, usamos o método replace():
- replace(old, new): substitui todas as ocorrências da substring- oldpor- new.
- replace(old, new, num): o parâmetro- numespecifica quantas ocorrências de old devem ser substituídas. Por padrão,- numé -1, o que substitui todas as ocorrências.
phone = "+1-234-567-89-10"
# substituindo hífens por espaços
edited_phone = phone.replace("-", " ")
print(edited_phone)     # +1 234 567 89 10
# removendo hífens
edited_phone = phone.replace("-", "")
print(edited_phone)     # +12345678910
# substituindo apenas o primeiro hífen
edited_phone = phone.replace("-", "", 1)
print(edited_phone)     # +1234-567-89-10Dividindo strings em substrings
O método split() divide a string em uma lista de substrings com base em um delimitador. O delimitador pode ser qualquer caractere ou sequência de caracteres. Este método possui as seguintes formas:
- split(): usa o espaço como delimitador.
- split(delimitador): usa o delimitador especificado.
- split(delimitador, num): o parâmetro- numespecifica quantas vezes o delimitador será aplicado. A parte restante da string é adicionada à lista sem ser dividida.
text = "Hello world, Hi people!"
# divisão por espaços
splitted_text = text.split()
print(splitted_text)    # ['Hello', 'world,', 'Hi', 'people!']
print(splitted_text[3])    # people!
# divisão por vírgulas
splitted_text = text.split(",")
print(splitted_text)    # ['Hello world', ' Hi people!']
print(splitted_text[1])    # Hi people!
# divisão pelos primeiros dois espaços
splitted_text = text.split(" ", 2)
print(splitted_text)    # ['Hello', 'world,', 'Hi people!']
print(splitted_text[2])    # Hi people!Outro método, partition(), divide a string pelo delimitador em três partes e retorna uma tupla com três elementos: a substring antes do delimitador, o delimitador e a substring após o delimitador:
text = "Hello world, Hi people!"
text_parts = text.partition("Hi")
print(text_parts)    # ('Hello world, ', 'Hi', ' people!')Se o delimitador não for encontrado na string, é retornada uma tupla contendo a string original e duas strings vazias.
Unindo strings
Além de concatenar strings usando o operador +, podemos utilizar o método join(), que une uma sequência de strings inserindo um delimitador entre elas. A string na qual o método é chamado é usada como delimitador:
words = ["Hello", "world", "Hi", "people!"]
# unindo as palavras com um espaço
text = " ".join(words)
print(text)    # Hello world Hi people!
# unindo as palavras com  uma barra vertical
text = "|".join(words)
print(text)    # Hello|world|Hi|people!Podemos também passar uma string simples para o método join(). Nesse caso, o delimitador será inserido entre os caracteres da string:
word = "hello"
joined_word = "|".join(word)
print(joined_word)      # h|e|l|l|oDocumentação oficial: