Ir para conteúdo
Fórum Script Brasil
  • 0

Pequenas Dúvidas Com Strings


[ GuTo ]

Pergunta

Olá,

Quero fazer estas coisas com javascript, que faço com ASP facilmente.

1- Selecionar os primeiros 5 caracteres de uma string:

strTxt = "Antonio Augusto"
Response.Write Left(strTxt,5)
-- Retorna "Anton" 2- Selecionar um pedaço no meio de uma string:
strTxt = "GuTo"
Response.Write Mid(strTxt,2,3)
-- Retorna "uTo" 3- Limpar espaços da esquerda e da direita:
strTxt = "  GuTo  "
Response.Write Trim(strTxt)
Sabem como fazer estas coisas? Seria assim? 1-
strTxt.substr(1,5)
2-
strTxt.substring(2,3)

3- ???

Link para o comentário
Compartilhar em outros sites

10 respostass a esta questão

Posts Recomendados

  • 0

Guto,

A diferença entre as funções substr() e substring() é no segundo parâmetro... o primeiro, para as duas, é o caractere inicial que será pego. E em ambas, a contagem começa pelo número 0.

O segundo parâmetro para a substr() é a quantidade de caracteres que serão pegos a partir do primeiro parâmetro, e para a substring(), é a posição do último caractere que será pego. Acredito que com isso você vai sanar as dúvidas 1 e 2... mas se ainda tiver alguma, é só falar.

Quanto à emulação da função trim() no javascript, o melhor é utilizar expressões regulares... você pode utilizar a função replace() pra isso. Eu tenho um código aqui que ele cria a função trim() pra todas as strings. É só você carregá-lo nos seus scripts:

// this trim was suggested by Tobias Hinnerup

String.prototype.trim = function() {

  return (this.replace(/^\s+/, '').replace(/\s+$/, ''));

}

Pronto... agora você faz assim:

nome = "  GUTO  ";

nome = nome.trim();

Abraços!

Link para o comentário
Compartilhar em outros sites

  • 0

Então...

Quanto ao 2º parâmetro para:

- substr é a quantidade de caracteres de que serão pegos apartir do primeiro parâmetro. (igual ao left do asp)

- substring é a posição do último caracter a ser pego, ou seja, até aonde ele vai 'cortar' a string. (PARECIDO com o mid do asp)

-- é na verdade, de posição X à posição Y.

E essa do trim ae, beleza pura!

Tenho q aprender muito ainda de javascript! tongue.gif

Muito obrigado aew Illidan!

Até mais,

abraços! biggrin.gif

Ah, mais uma coisa!

O indexOf, como é?

str = "guto@pop.com.br"
if (str.indexOf("@",1) == -1) {
//
 }

- Se não encontrar a string, no caso do exemplo o arroba "@", retorna -1 ou 0 ou undefined?

- Ele interpreta comoo primeiro caracter o 0 ou o 1?

Tipo... guto ... G é o primeiro caracter, mas na ordem pelo indexOf, é G corresponde ZERO ou a UM?

No caso, se G = 0, o U é 1, o T é 2 e o Ó 3.

- Não é necessário colocar aonde deve começar a pesquisa né?

Tipo.. é possível fazer somente o indexOf(str) ao invés de indexOf(str,4) ?

Desde já agradeço!

Link para o comentário
Compartilhar em outros sites

  • 0

A função string.indexOf(string) e retorna -1 se não encontrar a string passada na string principal.

a primeira posição é sempre 0, pois ele considera a string como um array de caracteres.

Ex.:

var exemplo = "GUTO";

exemplo.indexOf("U"); // retorna o número 1, pois é a posição q começa a string passada.

exemplo.indexOf("S"); // retorna o número -1, pois não encontrou a string passada.

Tendeu o método indexOf()?

Abraço

Link para o comentário
Compartilhar em outros sites

  • 0

Pessoal!

Me ensinem como funciona o lastIndexOf

Eu sei que ele funciona assim: str.lastIndexOf(".")

Mas sei que ele tem um outro parâmetro, no qual não sei como aplicar.

str = "guto.asp"

var1 = str.lastIndexOf(".",???)

Dae keria que vocês me explicassem isso.

Valeu!

Link para o comentário
Compartilhar em outros sites

  • 0
' date='Feb 18 2005, 03:20 PM'] Mas sei que ele tem um outro parâmetro, no qual não sei como aplicar.

str = "guto.asp"

var1 = str.lastIndexOf(".",???)

Dae keria que vocês me explicassem isso.

O que vai no lugar do "???" ?

Valeu!

beleza Crystian!

Mas sabe me dizer isso q já tinah pergunado?

Link para o comentário
Compartilhar em outros sites

  • 0

Guto, esse segundo parâmetro é opcional. Ele indica a posição do caractere em que a busca irá começar. Caso ele não seja passado, terá o valor do comprimento da string (lembre-se que a busca neste método é na ordem inversa: da direita pra esquerda).

beleza?

Link para o comentário
Compartilhar em outros sites

  • 0

Ok!

Então se eu fizer assim:

str = "guto.X.asp"

var1 = str.lastIndexOf(".",5)

Ele começa a verificar, da direita pra esquerda, apartir do X?

Ele me devolve 4?

Link para o comentário
Compartilhar em outros sites

  • 0

É isso mesmo!

Ele começa a pesquisar da 5ªposição: guto.X

g=0,u=1,t=2,o=3,.=4,X=5

Dae ele apartir do X, começa verificar a sua esquerda.

X, .

Sendo que este ponto, está na posição 4, da esquerda pra direira.

É meio confuso né?! tongue.gif

Link para o comentário
Compartilhar em outros sites

  • 0

Para complementar o tópico:

1º argumento para substr e substring: posicao. como considera um array de chars, começa do zero(0).

2º argumento para substr e substring, caso omitido, pega os chars restantes.

2º argumento para substr: quantidade de caracteres

2º argumento para substring: posicao do caracter

<script language="javascript" type="text/javascript">
//<![CDATA[
var d=document, b='<br />', a='1234567890';
d.write(b+ 'a                '+ a)
d.write(b+ 'a.substr(2)      '+ a.substr(2))
d.write(b+ 'a.substr(2,3)    '+ a.substr(2,3))
d.write(b+ 'a.substring(4)   '+ a.substring(4))
d.write(b+ 'a.substring(4,5) '+ a.substring(4,5))
d.write(b)
d.write(b+ 'a.substr(0,1)    '+ a.substr(0,1))
d.write(b+ 'a.substr(1)      '+ a.substr(1))

var w='antonio augusto andre silveira', r=w.split(' ');
for(var i=0,n=r.length; i<n; i++) r[i]=r[i].substr(0,1).toUpperCase()+r[i].substr(1).toLowerCase();
d.write(b+r.join(' '))
//]]>
</script>

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...