Se nosso código C ++ encontrar espaços ao executar qualquer uma dessas operações anteriores, receberemos resultados inesperados, como contagens de personagens incorretas, listas classificadas incorretamente, comparações imprecisas de string e URLs quebrados. Por padrão, estes são considerados personagens de espaço em branco, eu.e., "\ N", "\ t", "", "\ v", "\ r", "f".
Às vezes é importante remover o espaço das cordas da programação para evitar resultados inesperados. Aprenda a remover espaços das cordas e como lidar com espaços adicionais com este artigo.
Exemplo 1: Usando o método :: ISSPACE para remover os espaços de branco da string em c++
Para extrair caracteres de espaço em branco de STD :: Strings, a abordagem comum é utilizar o método std :: remover se. O algoritmo STD :: Remone_if não elimina efetivamente os caracteres da string, mas move todos os personagens com os espaços não-brancos para a frente e produz um iterador referente ao fim. O método std :: remove_if requer um predicado que decide quais personagens apagarem da string.
O método ISSPACE () é o que é especificado no cabeçalho do CCTYPE e procura caracteres de espaço em branco categorizados pelo C Partreng Locale.
O exemplo a seguir começa a partir da função principal. A declaração de string da classe Standard String é definida no método principal. A variável da string é definida como "str" e é inicializada com a string que contém os caracteres de espaço em branco. Para remover os espaços de branco da string, usamos o procedimento de apagamento normal.
Usamos o método std :: remove_if. No método STD :: Remone_if, passamos a função ":: ISSPACE" em uma busca por um personagem de espaço em branco em uma determinada string. A string após a remoção dos espaços em branco será impressa na tela seguinte:
#incluirComo você pode ver, nenhum caractere em branco é encontrado na seguinte sequência exibida:
Exemplo 2: Usando o método STD :: ISSPACE para remover os espaços de branco da string em C++
Neste exemplo, usamos o método de ligação padrão para remover o espaço em branco da string chamando a função STD :: ISSPACE. Em vez de depender da classificação C Locale de caracteres de espaço em branco, podemos usar o STD :: ISSPACE representado no local do cabeçalho, onde o aspecto CTYPE do local especificado classifica os caracteres do espaço em branco.
Vincular uma função aos espaços reservados permite alterar a posição e a quantidade de valores que a função utilizará, alterando a função com base no resultado desejado.
A string é definida como "str_n" no principal e é inicializada com a palavra string com caracteres de espaço em branco entre eles. Aqui, invocamos o método de apagamento para a string "str_n", onde duas funções são usadas std :: remove_if e o std :: bind. Observe que usamos STD :: ISSPACE na função de ligação para encontrar espaços de branco na string; Em seguida, o método de apagamento removerá o espaço em branco da string e retornará uma nova string de resultado.
#incluirAo compilar o programa anterior, o shell exibe os caracteres que não são do WhitaSpace.
Exemplo 3: Usando o método unário para remover os espaços de branco da string em c++
Em vez de usar :: ISSPACE ou STD :: ISSPACE, podemos criar uma condição personalizada que retorne true se o personagem for um personagem de espaço em branco ou então false. Criamos nosso método unário para remover os caracteres de espaço em branco da string.
Criamos um método unário "MyFunction" do tipo de dados bool. A função passou com o argumento da variável de char não assinada "mychar". Dentro da função, temos uma condição de retorno que retorna o caractere de espaço em branco especificado, se encontrado na string.
Em seguida, temos a principal função em que a string é gerada como "mystring" e contém os caracteres da string com caracteres de espaço em branco. O método de apagamento é usado a seguir na declaração de string, onde remove_if e função "myfunction" é chamado de apagar os caracteres de espaço em branco.
#incluirA string resultante possui todos os caracteres que não são do WhitaSpace mostrados na tela do shell a seguir:
Exemplo 5: Usando o método regex para remover os espaços de branco da string em c++
O método regex substitui () substitui um padrão de expressão regular por uma string contendo caracteres de espaço em branco. Vamos discutir isso com o exemplo de demonstração.
O programa C ++ inclui um arquivo regex na seção de cabeçalho para acessar a função regex_replace no programa. O INT principal é definido, que possui uma representação integral de string com os caracteres de espaço em branco em uma variável de string "stringis". Em seguida, chamamos a função regex em uma representação regex presa e passamos a variável de string "stringis" com o operador "+". A função regex_replace é chamada sobre a string variável "stringis" para apagar os espaços de branco ou o espaço em branco da string fornecida:
#incluirO regex substitui remove os caracteres de espaço em branco da string inteira, que é impressa no shell de comando do Ubuntu.
Conclusão
Assim, podemos remover os caracteres de espaço em branco da string em C ++ através de vários métodos discutidos neste artigo. Temos todas as demonstrações desses exemplos com o resultado resultante do programa. Você tem um número suficiente de métodos para substituir ou remover espaços brancos de strings C ++. Escolha quaisquer métodos que o atraem, além de ser apropriado para a situação.