Introdução
Você pode criar uma string bruta em Python prefixando uma literal de string com r
ou R
. A string bruta em Python trata o caractere de barra invertida (\) como um caractere literal. A string bruta é útil quando uma string precisa conter uma barra invertida, como em uma expressão regular ou caminho de diretório do Windows, e você não quer que ela seja tratada como um caractere de escape. Este artigo cobre o básico de como as strings brutas em Python funcionam e fornece alguns exemplos comuns de como usar strings brutas para incluir caracteres especiais em strings.
Os exemplos neste artigo utilizam o console interativo do Python na linha de comando para demonstrar diferentes cenários de strings brutas.
Incluindo um Caractere de Nova Linha em uma String Usando String Bruta
Este exemplo utiliza uma string com um valor: Olá\nOlá
. Se você tentar atribuir esse valor a uma string normal, o caractere de nova linha (\n
) cria uma nova linha:
- s = 'Hi\nHello'
Imprima a string:
- print(s)
O resultado é:
Hi
Hello
O resultado mostra que o caractere de nova linha resulta em uma nova linha.
Para incluir o caractere de nova linha na string, prefixe a variável de string com r
ou R
para criar uma string bruta:
- raw_s = r'Hi\nHello'
Imprima a string:
- print(raw_s)
A saída é:
Hi\nHello
A saída inclui o caractere de nova linha.
Incluindo Caracteres de Barra Dupla em uma String Usando String Bruta
Se você tentar incluir caracteres de barra dupla, como em um caminho de nome de host, em uma string normal, então o primeiro caractere de barra invertida não será impresso porque o compilador considera a barra invertida como um indicador de escape.
Por exemplo, crie uma string que contenha um caminho:
- s = '\\examplehost\digitalocean\content\'
Imprima a string:
- print(s)
A saída é:
\examplehost\digitalocean\content\
A saída mostra que o primeiro caractere de barra invertida não está incluído na string.
Para incluir ambos os caracteres de barra invertida na string, prefixe a variável de string com r
ou R
para criar uma string bruta:
- s = r'\\examplehost\digitalocean\content\'
Imprima a string:
- print(s)
A saída é:
\\examplehost\digitalocean\content\
A saída inclui ambos os caracteres de barra invertida.
Resolução de Citações e Caracteres de Barra Invertida em Strings Brutas
Em uma string bruta, as aspas ainda podem ser escapadas com um único caractere de barra invertida, no entanto, o caractere de barra invertida permanece na string bruta resultante.
Além disso, uma string bruta não pode terminar com um número ímpar de caracteres de barra invertida. Devido a esse recurso, você não pode criar uma string bruta que contenha um único caractere de barra invertida, então r"/"
é uma string inválida.
Exemplos de Strings Brutas Inválidas
Neste exemplo, a aspa final está ausente na saída, pois está sendo escapada pelo caractere de barra invertida, resultando em um erro de literal de string não terminada
:
r'\'
Neste exemplo, os dois primeiros caracteres de barra invertida irão escapar um ao outro, e o terceiro tentará escapar a aspa final, resultando em um erro de literal de string não terminada
:
r'ab\\\'
Exemplos de Strings Brutas Válidas
Aqui estão alguns exemplos de strings brutas válidas que incluem aspas e caracteres de barra invertida.
Crie uma string bruta que escape as aspas:
- s = r"\"\""
Imprima a string:
- print(s)
O resultado é:
\"\"
O resultado mostra que os caracteres de barra invertida escapam as aspas para que a string não termine, mas os caracteres de barra invertida permanecem na string de resultado.
Crie uma string bruta com um número par de caracteres de barra invertida:
- s = R'ab\\'
Imprima a string:
- print(s)
O resultado é:
ab\\
O resultado mostra que o número par de caracteres de barra invertida está incluído na string de resultado.
Conclusão
Neste artigo, você aprendeu o básico das strings brutas em Python. Continue sua aprendizagem sobre strings Python.
Source:
https://www.digitalocean.com/community/tutorials/python-raw-string