No JS, existem três Slice (), Substr () e Substr () na função de interceptação de caracteres. Deixe -me apresentar a você algumas funções de uso e diferenças entre as funções Slice (), Substr () e Substr () ao interceptar caracteres.
Três funções para tomar strings: Slice (Start, [end]), Substring (Start, [End]) e Substr (Start, [Length])
Atributos relacionados:
fatiar()
O primeiro parâmetro representa a posição inicial, o segundo parâmetro representa a próxima posição da posição final e o comprimento da sequência interceptada é a diferença entre o segundo parâmetro e o primeiro parâmetro; Se o valor do parâmetro for negativo, o valor será adicionado ao comprimento da string e convertido a um valor positivo; Se o primeiro parâmetro for igual a maior que o segundo parâmetro, uma sequência vazia será retornada.
Substring ()
O primeiro parâmetro representa a posição inicial e o segundo parâmetro representa a próxima posição da posição final; Se o valor do parâmetro for negativo, o valor será convertido em 0; Entre os dois parâmetros, o valor menor é tomado como a posição inicial e o comprimento da sequência interceptada é a diferença entre o valor maior e o valor menor.
substr ()
O primeiro parâmetro representa a posição inicial e o segundo parâmetro representa o comprimento interceptado
PS: Todas as cordas começam de 0
exemplo:
<script type = "text/javascript"> var stmp = "rcinn.cn"; // use um alerta de parâmetro (stmp.slice (3)); // do quarto personagem, intercepte o último personagem; return "nn.cn" alerta (stmp.substring (3)); // do quarto personagem, intercepte o último personagem; retornar "nn.cn" // use dois parâmetros alerta (stmp.slice (1,5)) // do segundo caractere, para o quinto caractere; Retornar alerta "CINN" (STMP.SUBSTRING (1,5)); // do segundo personagem, ao quinto personagem; retornar "CINN" // Se apenas um parâmetro for usado e for 0, retorne o alerta de parâmetro inteiro (stmp.slice (0)); // retorna o alerta de sequência inteira (stmp.substring (0); // retorna a sequência inteira // retorna o primeiro alerta (stoMp.slice (0,1); // No exemplo acima, podemos ver que o uso de slice () e substring () são os mesmos // os valores retornados são os mesmos, mas quando os parâmetros são negativos, seus valores de retorno são diferentes. Consulte o exemplo a seguir alerta (stmp.slice (2, -5)); // retorna "i" alerta (stmp.substring (2, -5)); // retorna "rc" // dos dois exemplos acima, que podemos ver que a slice (2, -5) é realmente slice (2,3) // negativo para mais de 5 string 8 conversando para conversas positivas (2, -5), na verdade, se é o mais, se o que é mais baixo, se o que é o que é o que é o que é o que é o que é o que há de um pouco de regressão linear. retornado); // A substring (2, -5) é na verdade substring (2,0) e os dígitos negativos são convertidos em 0, a substring sempre leva um número menor como a posição inicial. alerta (stmp.substring (1,5)) // Comece do segundo caractere ao quinto caractere; Retornar alerta "Cinn" (STMP.SUBSTR (1,5)); // Comece a partir do segundo caractere, intercepte 5 caracteres; Retorne "Cinn". </script>
A diferença entre os métodos de substring e substring
<script type = "text/javascript"> var str = "0123456789"; // alerta (str.substring (0)); // ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- alerta (str.substring (-10)); // -------------- "0123456789" alerta (str.substring (-12)); // ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- alerta (str.substring (2,2)); // --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- alerta (str.substr (5)); // ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ ------ ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- alerta (str.substr (0,10)); // ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- alerta (str.substr (-1,5)); // -------------- "01234" Alert (str.substr (-1, -5)); // ----------------- "" </sCript>
Função: Split ()
Função: use um separador especificado para dividir uma string em uma matriz
exemplo:
str = ”jpg | bmp | gif | ico | png"; arr = theString.split ("|"); // arr é uma matriz contendo valores de caracteres "jpg", "bmp", "gif", "ico" e "png"Função: John ()
Função: use o delimitador de sua escolha para combinar uma matriz em uma string
exemplo:
var delimitedString = myArray.join (delimitador); var myList = new Array ("jpg", "bmp", "gif", "ico", "png"); var a portaList = mylist.join ("|"); // o resultado é jpg | bmp | gif |Função: indexOf ()
Função: retorne o subscrito do primeiro caractere que corresponde à substring na string
var mystring = "javascript"; var w = myString.indexOf ("v"); w será 2var x = myString.indexOf ("s"); x será 4Var y = mystring.indexOf ("script"); y também será 4Var z = mystring.IndexOf ("key";Eu vi outro método muito simples online, o código é o seguinte:
função func (s, n) {return s.Replace (/([^x00-xff])/g, "$ 1a"). slice (0, n) .place (/([^x00-xff]) a/g, "$ 1"); }Este método é muito inteligente e está basicamente correto. Diz -se "basicamente" porque, quando leva uma substring com comprimento 6 à esquerda de "123 Teste de caracteres chineses", retorna "123 caracteres chineses", não "123 chineses". Obviamente, isso não é necessariamente um problema e, em alguns casos, os requisitos podem ser assim. Este método pode ser melhorado da seguinte maneira:
function func (s, n) {return s.slice (0, n) .plique (/([^x00-xff])/g, "$ 1a"). Slice (0, n) .place (/([^x00-xff]) a/g, "$ 1"); }O exposto acima é tudo sobre este artigo, espero que seja útil para todos aprenderem a programação de JavaScript.