Manipulação de Strings
Caracteres de Escape
Um caractere de escape é criado digitando uma barra invertida \ seguida pelo caractere que você deseja inserir.
| Caractere de Escape | Imprime como |
|---|---|
\' | Aspas simples |
\" | Aspas duplas |
\t | Tabulação |
\n | Nova linha (quebra de linha) |
\\ | Barra invertida |
\b | Backspace |
\ooo | Valor octal |
\r | Retorno de Carro |
# Caracteres de escape: use barra invertida para inserir caracteres especiais
# \n = nova linha, \' = aspas simples
print("Hello there!\nHow are you?\nI\'m doing fine.")
Hello there!
How are you?
I'm doing fine.
Strings Brutas (Raw Strings)
Uma string bruta ignora completamente todos os caracteres de escape e imprime qualquer barra invertida que apareça na string.
# String bruta (prefixo r): trata barras invertidas como caracteres literais
print(r"Hello there!\nHow are you?\nI\'m doing fine.") # \n impresso literalmente
Hello there!\nHow are you?\nI\'m doing fine.
Strings brutas são usadas principalmente para definição de expressões regulares.
Faça login para responder este quiz e acompanhar seu progresso de aprendizagem
r) faz em Python?Strings Multilinhas
print(
"""Dear Alice,
Eve's cat has been arrested for catnapping,
cat burglary, and extortion.
Sincerely,
Bob"""
)
Dear Alice,
Eve's cat has been arrested for catnapping,
cat burglary, and extortion.
Sincerely,
Bob
Indexação e Fatiamento de Strings
H e l l o w o r l d !
0 1 2 3 4 5 6 7 8 9 10 11
Indexação
# Indexação de string: acessa caracteres pela posição (base 0)
spam = 'Hello world!'
spam[0] # Retorna o primeiro caractere: 'H'
'H'
spam[4]
'o'
spam[-1]
'!'
Fatiamento (Slicing)
# Fatiamento de string: extrai substring usando a sintaxe [início:fim]
spam = 'Hello world!'
spam[0:5] # Retorna caracteres do índice 0 até 4: 'Hello'
'Hello'
spam[:5]
'Hello'
spam[6:]
'world!'
spam[6:-1]
'world'
spam[:-1]
'Hello world'
spam[::-1]
'!dlrow olleH'
Faça login para responder este quiz e acompanhar seu progresso de aprendizagem
spam[::-1] faz com uma string?fizz = spam[0:5]
fizz
'Hello'
Os operadores in e not in
'Hello' in 'Hello World'
True
'Hello' in 'Hello'
True
'HELLO' in 'Hello World'
False
'' in 'spam'
True
'cats' not in 'cats and dogs'
False
upper(), lower() e title()
Transforma uma string para maiúsculas, minúsculas e formato de título:
greet = 'Hello world!'
greet.upper()
'HELLO WORLD!'
greet.lower()
'hello world!'
greet.title()
'Hello World!'
Métodos isupper() e islower()
Retorna True ou False após avaliar se uma string está em maiúsculas ou minúsculas:
spam = 'Hello world!'
spam.islower()
False
spam.isupper()
False
'HELLO'.isupper()
True
'abc12345'.islower()
True
'12345'.islower()
False
'12345'.isupper()
False
Os métodos isX de string
| Método | Descrição |
|---|---|
| isalpha() | retorna True se a string consiste apenas em letras. |
| isalnum() | retorna True se a string consiste apenas em letras e números. |
| isdecimal() | retorna True se a string consiste apenas em números. |
| isspace() | retorna True se a string consiste apenas em espaços, tabulações e novas linhas. |
| istitle() | retorna True se a string consiste apenas em palavras que começam com uma letra maiúscula seguida apenas por caracteres minúsculos. |
startswith() e endswith()
'Hello world!'.startswith('Hello')
True
'Hello world!'.endswith('world!')
True
'abc123'.startswith('abcdef')
False
'abc123'.endswith('12')
False
'Hello world!'.startswith('Hello world!')
True
'Hello world!'.endswith('Hello world!')
True
Faça login para responder este quiz e acompanhar seu progresso de aprendizagem
startswith() retorna?True se a string começa com a substring especificada, False caso contráriojoin() e split()
join()
O método join() pega todos os itens em um iterável, como uma lista, dicionário, tupla ou conjunto, e os une em uma string. Você também pode especificar um separador.
''.join(['My', 'name', 'is', 'Simon'])
'MynameisSimon'
', '.join(['cats', 'rats', 'bats'])
'cats, rats, bats'
' '.join(['My', 'name', 'is', 'Simon'])
'My name is Simon'
'ABC'.join(['My', 'name', 'is', 'Simon'])
'MyABCnameABCisABCSimon'
split()
O método split() divide uma string em uma lista. Por padrão, ele usará espaço em branco para separar os itens, mas você também pode definir outro caractere de sua escolha:
'My name is Simon'.split()
['My', 'name', 'is', 'Simon']
'MyABCnameABCisABCSimon'.split('ABC')
['My', 'name', 'is', 'Simon']
'My name is Simon'.split('m')
['My na', 'e is Si', 'on']
' My name is Simon'.split()
['My', 'name', 'is', 'Simon']
' My name is Simon'.split(' ')
['', 'My', '', 'name', 'is', '', 'Simon']
Faça login para responder este quiz e acompanhar seu progresso de aprendizagem
split() retorna quando chamado em uma string?Justificando texto com rjust(), ljust() e center()
'Hello'.rjust(10)
' Hello'
'Hello'.rjust(20)
' Hello'
'Hello World'.rjust(20)
' Hello World'
'Hello'.ljust(10)
'Hello '
'Hello'.center(20)
' Hello '
Um segundo argumento opcional para rjust() e ljust() especificará um caractere de preenchimento além do caractere de espaço:
'Hello'.rjust(20, '*')
'***************Hello'
'Hello'.ljust(20, '-')
'Hello---------------'
'Hello'.center(20, '=')
'=======Hello========'
Removendo espaços em branco com strip(), rstrip() e lstrip()
spam = ' Hello World '
spam.strip()
'Hello World'
spam.lstrip()
'Hello World '
spam.rstrip()
' Hello World'
spam = 'SpamSpamBaconSpamEggsSpamSpam'
spam.strip('ampS')
'BaconSpamEggs'
O Método Count
Conta o número de ocorrências de um determinado caractere ou substring na string à qual é aplicado. Pode-se opcionalmente fornecer os índices de início e fim.
sentence = 'one sheep two sheep three sheep four'
sentence.count('sheep')
3
sentence.count('e')
9
# retorna a contagem de 'e' após 'one sh' i.e. 6 caracteres desde o início da string
sentence.count('e', 6)
8
sentence.count('e', 7)
7
Método Replace
Substitui todas as ocorrências de uma determinada substring por outra substring. Pode-se opcionalmente fornecer um terceiro argumento para limitar o número de substituições. Retorna uma nova string.
text = "Hello, world!"
text.replace("world", "planet")
'Hello, planet!'
fruits = "apple, banana, cherry, apple"
fruits.replace("apple", "orange", 1)
'orange, banana, cherry, apple'
sentence = "I like apples, Apples are my favorite fruit"
sentence.replace("apples", "oranges")
'I like oranges, Apples are my favorite fruit'
Faça login para responder este quiz e acompanhar seu progresso de aprendizagem
replace() retorna?None