Uma operação típica ao trabalhar com strings está determinando se uma string contém uma substring específica. Você pode usar esses métodos para localizar e higienizar a contribuição dos usuários, impedindo qualquer código malicioso.
Neste tutorial, mostraremos como determinar se uma string contém uma substring específica.
Ruby inclui? Método
A maneira mais fácil de descobrir se uma substring específica está em outra string é usar? Método interno.
Aqui está um exemplo:
str = 'No exemplo acima, temos um programa simples contendo informações de uma entrada de formulário HTML. Verificamos se o formulário contém um método de postagem usando o método de inclusão.
Como o valor de retorno do método é um booleano verdadeiro ou falso se a substring estiver disponível ou não, respectivamente, implementamos uma declaração se ... else para agir de acordo.
A saída de exemplo do script acima é como mostrado:
$ ruby substring.rbSe substituirmos os dados do formulário e definirmos o método para obter, podemos chegar ao bloco else como:
str = 'Nós executamos o script como:
$ ruby substring.rbUma desvantagem do incluído? método é sensível ao caso. Isso significa que a postagem e a postagem retornarão um valor falso.
Por exemplo:
str = 'post'Se executarmos o exemplo acima, devemos obter uma saída do bloco else como:
$ ruby substring.rbPara superar isso, podemos primeiro converter toda a string em minúsculas ou maiúsculas e depois verificar se a substring está dentro da string principal.
Aqui está um exemplo:
str = 'post'Neste exemplo, convertemos a substring em maiúsculas, que correspondem à sequência principal, e verificamos o valor.
$ ruby substring.rbUsando regex
Podemos usar o regex para verificar se uma string contém uma substring específica. Ruby retornará nulo se o padrão de expressão regular especificado não estiver dentro da string.
Por exemplo:
str = 'No exemplo acima, usamos uma expressão regular simples para verificar se a string contém a substring "post".
Se executarmos o script acima, devemos obter uma saída semelhante à abaixo:
$ ruby substring.rbO valor de retorno da expressão regular é o índice inicial em que o caso de correspondência é encontrado. Em nosso exemplo, a string post está começando no índice 33. Podemos verificar como:
str = '…No exemplo acima, começamos a partir do índice inicial em que a string é encontrada para indexar o comprimento da extensão da substring:
$ ruby substring.rbReferência do elemento Ruby String []
Também podemos usar o método de referência de string rubi. Podemos passar uma corda, um valor de índice ou uma expressão regular dentro de um par de colchetes quadrados.
Exemplo de uso:
str = 'post'Se executarmos o exemplo acima, devemos ver uma saída como:
=> POSTSe a substring estiver disponível, ele retornará a sequência real; No entanto, ele retornará nulo se não houver substring.
O mesmo caso se aplica a expressões regulares.
str = 'post'Também podemos usar o método acima para extrair uma substring. Por exemplo, para extrair 10 caracteres após a partida, podemos fazer:
str = 'Post ------ String continua aqui'O exemplo acima buscará 9 índices após o índice onde a partida está.
Conclusão
Neste guia, você aprendeu a verificar se uma string contém uma substring específica usando a inclusão? método, expressões regulares e referência de elemento de sequência.