As strings Python permanecem imutáveis, o que significa que podemos alterá-las com base nas operações que executamos. A funcionalidade mais significativa do Python é a manipulação de strings. Muitos métodos, incluindo abordagens de fatiamento de string, loop através de seus elementos e métodos de string, podem ser usados para alterar a string. É vital entender que uma string com espaços é efetivamente uma string vazia de comprimento diferente de zero. Esse problema será discutido neste tutorial, bem como uma possível solução. Como resultado, quando usamos o apenas() ou ' não 'para verificar uma string vazia, na verdade conta o espaço como nada menos que um caractere da string, portanto, uma string com espaço não será contada como uma string vazia.
Em Python, podemos usar uma das maneiras básicas descritas abaixo para verificar uma string vazia.
- Usando o operador not
- Usando a função len()
- Usando não + string.isspace()
- Usando len() + string.strip()
- Usando e + string.strip()
- Usando __eq__
Usando não operador
O não operador executa o mesmo trabalho que o apenas() função. Em Python, uma string vazia é de fato igual a False. O não O operador pode ser usado para determinar se uma string está realmente vazia ou não. O não A operação em Python evita que a string seja interpretada como uma string vazia se contiver espaços.
Exemplo
Usamos dois tipos de strings, string1 e string2, neste exemplo. A string2 possui espaços em branco e string1 é uma string vazia. Em seguida, usamos uma condição 'if else' para verificar se a string fornecida está vazia se não estiver na string. Contudo, não está vazio. Os espaços em branco não são tratados como strings vazias pelo operador not, portanto a saída não será uma string vazia para o caso da segunda string de entrada. Finalmente, o resultado foi impresso.
Código:
#taking an empty string and a string with spaces only string1 = '' string2 = ' ' if not string1: print(f'string, string1 = '{string1}', with no spaces is empty') else: print(f'string, string1 = '{string1}', with no spaces is not empty') if not string2: print(f'string, string2 = '{string2}', with spaces is empty') else: print(f'string, string2 = '{string2}', with spaces is not empty')
Saída:
string, string1 = '', with no spaces is empty string, string2 = ' ', with spaces is not empty
Usando o método len()
Usaremos python apenas() função para determinar o comprimento da string. Então, se o comprimento da string for igual a 0, a string estará em branco; caso contrário, não é. Ao usar o apenas() técnica em Python, a string não é realmente considerada uma string vazia se contiver espaços.
Exemplo
Usamos dois tipos de strings, string1 e string2, neste exemplo. A string2 possui espaços em branco e string1 é uma string vazia. O comprimento de cada string foi então calculado usando a função len() do Python. Em seguida, usamos o loop 'if-else' para verificar se o comprimento da string é igual a zero; nesse caso, a condição imprime que a string está vazia e, nesse caso, a string de impressão não está vazia. Espaços em branco na string não são considerados vazios por apenas() , resultando em uma string não vazia. Finalmente, imprimimos o resultado de ambas as strings.
Código:
#taking an empty string and a string with spaces only string1 = '' string2 = ' ' length1 = len(string1) length2 = len(string2) if length1 == 0: print(f'string, string1 = '{string1}', with no spaces is empty') else: print(f'string, string1 = '{string1}', with no spaces is not empty') if length2 == 0: print(f'string, string2 = '{string2}', with spaces is empty') else: print(f'string, string2 = '{string2}', with spaces is not empty')
Saída:
string, string1 = '', with no spaces is empty string, string2 = ' ', with spaces is not empty
Usando not Operator + str.isspace()
Ele verifica os espaços em branco na faixa da mesma maneira que o faixa() função faz. No entanto, faixa() função leva muito tempo quando oposta a rua. isespaço() já que strip() deve executar uma operação strip, o que requer muito trabalho de computação.
Exemplo
Usamos dois tipos de strings, string1 e string2, neste exemplo. A string2 possui espaços em branco e string1 é uma string vazia. A condição 'if-else' foi usada. Nós usamos o isespaço() método na condição if else, que verifica todos os espaços de string. Finalmente, a saída foi impressa e você pode ver que ambas as strings estão vazias.
Código:
#taking an empty string and a string with spaces only string1 = '' string2 = ' ' if string1 and not string1.isspace(): print(f'string, string1 = '{string1}', with no spaces is empty') else: print(f'string, string1 = '{string1}', with no spaces is not empty') if string2 and not string2.isspace(): print(f'string, string2 = '{string2}', with spaces is empty') else: print(f'string, string2 = '{string2}', with spaces is not empty')
Saída:
comparação de string java
string, string1 = '', with no spaces is not empty string, string2 = ' ', with spaces is not empty
Usando len() + string.strip()
Em Python, use o len() + string.strip() técnica para verificar uma string completamente vazia. O espaço em branco em uma string é removido usando o string.strip() método. Se houver algum espaço na string, o faixa() método remove-o, e o apenas() função verifica se a string está vazia ou não.
Exemplo
Independentemente de quantos espaços colocamos na string, ele remove todos eles e verifica o comprimento da string; se retornar 0, a string estará vazia; caso contrário, não é.
Código:
#taking an empty string and a string with spaces only string1 = '' string2 = ' ' if len(string1.strip()): print(f'string, string1 = '{string1}', with no spaces is not empty') else: print(f'string, string1 = '{string1}', with no spaces is empty') if len(string2.strip()): print(f'string, string2 = '{string2}', with spaces is not empty') else: print(f'string, string2 = '{string2}', with spaces is empty')
Saída:
string, string1 = '', with no spaces is empty string, string2 = ' ', with spaces is empty
Usando o operador 'e' + função strip()
Notamos que os espaços em branco nas strings nem sempre são interpretados como strings vazias. Então, quando usamos o faixa() função para verificar se a string está vazia, também podemos verificar se há espaços em branco.
Exemplo
Usamos duas strings de entrada, string1 e string2, neste exemplo. A string2 possui espaços em branco e string1 é uma string vazia. Em seguida, usamos a condição if-else e o faixa() função para ver se a string estava vazia ou não. Se a condição for False, a string estará vazia e os blocos serão executados caso contrário. O espaço em branco também é considerado uma string vazia neste método. Finalmente, o resultado foi impresso.
Código:
#input empty with and without spaces string s = '' str = ' ' if string1 and string1.strip(): print(f'string, string1 = '{string1}', with no spaces is not empty') else: print(f'string, string1 = '{string1}', with no spaces is empty') if string2 and string2.strip(): print(f'string, string2 = '{string2}', with spaces is not empty') else: print(f'string, string2 = '{string2}', with spaces is empty')
Saída:
string, string1 = '', with no spaces is empty string, string2 = ' ', with spaces is empty
Usando a função Strip()
Notamos que os espaços em branco nas strings nem sempre são interpretados como strings vazias. Então, quando usamos o faixa() função para verificar se a string está vazia, também podemos verificar se há espaços em branco.
Exemplo
Usamos duas strings de entrada, string1 e string2, neste exemplo. A string1 possui espaços em branco e string2 é uma string vazia. Usamos uma condição if else para remover as strings, removendo espaços em branco e retornando uma string vazia se a string ficar vazia. A string não está vazia caso contrário. Finalmente, o resultado foi impresso.
Código:
#input empty with and without spaces string s = '' str = ' ' if string1.strip(): print(f'string, string1 = '{string1}', with no spaces is not empty') else: print(f'string, string1 = '{string1}', with no spaces is empty') if string2.strip(): print(f'string, string2 = '{string2}', with spaces is not empty') else: print(f'string, string2 = '{string2}', with spaces is empty')
Saída:
string, string1 = '', with no spaces is empty string, string2 = ' ', with spaces is empty
Usando o método __eq__
O dunder identifica métodos com dois sublinhados antes e depois de seus nomes. O __eq__ O método também pode ser usado para verificar uma string vazia. Ao ligar para o __eq__ técnica em Python, a string não é considerada uma string vazia se contiver espaços.
Exemplo
Usamos duas strings de entrada, string1 e string2, neste exemplo. A string2 possui espaços em branco e string1 é uma string vazia. O __eq__ função foi usada. Na condição if-else, usamos o método fornecido para verificar se a string está em branco ou não. Finalmente, o resultado foi impresso. Os espaços em branco não são tratados como strings vazias nesta abordagem.
Código:
#taking an empty string and a string with spaces only string1 = '' string2 = ' ' if ''.__eq__(string1): print(f'string, string1 = '{string1}', with no spaces is empty') else: print(f'string, string1 = '{string1}', with no spaces is not empty') if ''.__eq__(string2): print(f'string, string1 = '{string2}', with no spaces is empty') else: print(f'string, string1 = '{string2}', with no spaces is not empty')
Saída:
string, string1 = '', with no spaces is empty string, string1 = ' ', with no spaces is not empty