Principais Métodos de Strings - Python
Vamos considerar os principais métodos de strings que podemos aplicar em nossas aplicações:
: retornaisalpha()
se a string consiste apenas de caracteres alfabéticos.True
: retornaislower()
se a string consiste apenas de caracteres em minúsculas.True
: retornaisupper()
se todos os caracteres da string estão em maiúsculas.True
: retornaisdigit()
se todos os caracteres da string são dígitos.True
: retornaisnumeric()
se a string representa um número.True
: retornastartswith(str)
se a string começa com a substringTrue
.str
: retornaendswith(str)
se a string termina com a substringTrue
.str
: converte todos os caracteres da string para minúsculas.lower()
: converte todos os caracteres da string para maiúsculas.upper()
: converte para maiúscula o primeiro caractere de cada palavra na string.title()
: converte para maiúscula apenas o primeiro caractere da primeira palavra da string.capitalize()
: remove os espaços em branco iniciais da string.lstrip()
: remove os espaços em branco finais da string.rstrip()
: remove os espaços em branco iniciais e finais da string.strip()
: se o comprimento da string for menor que o parâmetroljust(width)
, adiciona espaços à direita para completar o valor dewidth
, alinhando a string à esquerda.width
: se o comprimento da string for menor que o parâmetrorjust(width)
, adiciona espaços à esquerda para completar o valor dewidth
, alinhando a string à direita.width
: se o comprimento da string for menor que o parâmetrocenter(width)
, adiciona espaços igualmente à esquerda e à direita para completar o valor dewidth
, alinhando a string ao centro.width
: retorna o índice da substring na string. Se a substring não for encontrada, retornafind(str[, start[, end]])
.-1
: substitui uma substring por outra na string.replace(old, new[, num])
: divide a string em substrings com base no delimitador.split([delimitador[, num]])
: 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.partition(delimitador)
: une uma sequência de strings em uma única string, inserindo um delimitador específico entre elas.join(strs)
Por exemplo, se esperamos a entrada de um número pelo teclado, podemos verificar com o método isnumeric()
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") # False
Removendo 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()
: a busca da substringfind(str)
é realizada do início ao fim da string.str
: o parâmetrofind(str, start)
define o índice inicial a partir do qual a busca será realizada.start
: o parâmetrofind(str, start, end)
define o índice final até o qual a busca será realizada.end
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) # -1
Substituição em strings
Para substituir uma substring por outra, usamos o método replace()
: substitui todas as ocorrências da substringreplace(old, new)
porold
.new
: o parâmetroreplace(old, new, num)
especifica quantas ocorrências de old devem ser substituídas. Por padrão,num
é -1, o que substitui todas as ocorrências.num
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-10
Dividindo strings em substrings
O método split()
: usa o espaço como delimitador.split()
: usa o delimitador especificado.split(delimitador)
: o parâmetrosplit(delimitador, num)
especifica quantas vezes o delimitador será aplicado. A parte restante da string é adicionada à lista sem ser dividida.num
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()
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 +
join()
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()
word = "hello"
joined_word = "|".join(word)
print(joined_word) # h|e|l|l|o