Manipulação de Strings em Python: busca, substituição e concatenação

Treinador Online de Python para Iniciantes

Aprenda Python facilmente sem sobrecarga teórica. Resolva tarefas práticas com verificação automática e escreva código diretamente no navegador.

Start Course

Trabalhando com Strings em Python: Guia Completo

Fundamentos das Strings na Linguagem Python

Strings em Python representam um tipo de dado fundamental para trabalhar com informações textuais. Compreender os princípios de manipulação de strings é essencial para uma programação eficiente.

Strings como objetos do tipo str

Em Python, strings são objetos do tipo embutido str. Elas representam sequências de caracteres Unicode. Cada string suporta diversos métodos nativos para processamento de texto. Strings permitem acesso a caracteres individuais por índice. Também possibilitam operações de comparação e ordenação.

texto = "Python"
print(type(texto))  # <class 'str'>
print(len(texto))   # 6

Princípio da Imutabilidade das Strings

Strings em Python são objetos imutáveis. Isso significa que qualquer operação de transformação cria uma nova string. A string original permanece inalterada. Esse princípio garante segurança dos dados e previsibilidade do código.

original = "olá"
modificada = original.upper()
print(original)   # 'olá' - não foi alterada
print(modificada) # 'OLÁ' - nova string

Formas de Criar Strings

Python oferece várias maneiras de criar strings:

  • Aspas simples para strings simples
  • Aspas duplas para strings com apóstrofos
  • Aspas triplas para texto multilinha
  • Raw strings para escapar caracteres especiais
simples = 'string simples'
dupla = "string com 'apóstrofo'"
multilinha = """Primeira linha
Segunda linha
Terceira linha"""
raw = r"caminho\para\arquivo"

Indexação e Trabalho com Fatias (Slicing)

Acessando Caracteres da String

Cada caractere em uma string possui um índice. A indexação começa em zero. Python suporta tanto indexação positiva quanto negativa.

texto = "Python"
print(texto[0])   # 'P' - primeiro caractere
print(texto[5])   # 'n' - último caractere
print(texto[-1])  # 'n' - último via índice negativo
print(texto[-6])  # 'P' - primeiro via índice negativo

Criando Fatias (Slices) de Strings

Fatias permitem extrair substrings da string original. A sintaxe da fatia é: string[início:fim:passo]. O índice inicial é incluído, o final é excluído.

texto = "Python Programming"
print(texto[1:4])    # 'yth'
print(texto[:6])     # 'Python'
print(texto[7:])     # 'Programming'
print(texto[::2])    # 'Pto rgamn' - cada segundo caractere
print(texto[::-1])   # 'gnimmargorP nohtyP' - string invertida

Aplicação Prática da Indexação Negativa

A indexação negativa simplifica o trabalho com o final da string. Ela é especialmente útil ao processar arquivos e dados de comprimento variável.

arquivo = "documento.pdf"
extensao = arquivo[-4:]  # '.pdf'
parte_nome = arquivo[:-4]  # 'documento'

Métodos de Busca em Strings

Métodos Básicos de Busca de Substrings

O método find() retorna o índice da primeira ocorrência da substring. Se a substring não for encontrada, retorna -1. O método rfind() busca a partir do final da string.

texto = "banana programming"
print(texto.find("ana"))     # 1
print(texto.find("python"))  # -1 (não encontrado)
print(texto.rfind("ana"))    # 3
print(texto.find("a", 2))    # 3 (busca a partir da posição 2)

Métodos de Busca Rigorosos com Exceções

Os métodos index() e rindex() funcionam de forma similar ao find(). No entanto, eles lançam uma exceção ValueError se a substring não for encontrada.

texto = "banana"
print(texto.index("n"))      # 2
# print(texto.index("z"))    # ValueError: substring not found

Blogs

Book Recommendations