Como criar substring em jquery

115

Como posso usar jquery no lado do cliente para substring "nameGorge" e remover "name" para que a saída seja apenas "Gorge"?

var name = "nameGorge"; //output Gorge
Desfiladeiro
fonte
15
jQuery é uma biblioteca escrita em JavaScript. É usado no topo do JavaScript. O que você está pedindo pode ser feito em JavaScript sem a necessidade de usar a biblioteca jQuery.
Jeff
1
jQuery IS JavaScript (uma biblioteca JavaScript para ser exato, mas JavaScript, no entanto). Dito isso, não acho que usar jQuery para obter uma substring poderia ser escrito mais facilmente do que já é em JavaScript puro.
VoidKing de

Respostas:

235

Não é necessário jQuery! Basta usar o método substring:

var gorge = name.substring(4);

Ou se o texto que você deseja remover não for estático:

var name = 'nameGorge';
var toRemove = 'name';
var gorge = name.replace(toRemove,'');
Justin Niessner
fonte
5
Desculpe, não esperava que isso explodisse com tanta força depois que eu fui dormir. Limpei um pouco as coisas aqui. Enquanto isso, alguém precisa ler isso
BoltClock
Ei, BoltClock: Como você está? Eu estava tentando provar um ponto aqui, muito obrigado .. então isso significa que se eu estou tentando reformular um código para um cliente, e venho aqui procurando uma resposta, e a resposta marcada da op é satisfatória para ele. . então não posso simplesmente postar a mesma pergunta nem dar um exemplo do meu problema .. muito interessante .. então minha pergunta era como esses caras estão tão certos de que se estou executando uma função jQuery e dentro de uso .split estou referindo-se ao modo JS nativo ou algum tipo de túnel ou proxy para acionar isso por meio do jQuery. Além disso, se você leu a pergunta.
Jean Paul AKA el_vete
Meu ponto é que para mim está trabalhando dentro do namespace jQuery, eu realmente não me importo muito se o caso é que está chamando diretamente string.split de JS, mas em vez da comunidade eu entendi que se eu postar essa pergunta exata, será marcado como restrito, pois esta resposta é mais aceita do que o fato de que há uma referência de documentação jQuery.split em algum lugar para mim, pelo menos me diz que deveria ser porque está lá sem dar qualquer conflito ao meu código e todos os jQuery plugins que nas fotos deletadas vocês puderam ver ... então obrigado mais uma vez
Jean Paul AKA el_vete
5
@JeanPaul - jQuery não tem split (). Já falamos sobre isso. Ambos os artigos que você vinculou a text () anteriormente usaram para obter uma string JavaScript vanilla e então chamaram string.split (). Você está simplesmente errado neste caso. Largue.
Justin Niessner
52

Usando .split(). (A segunda versão usa .slice()e .join()no Array.)

var result = name.split('name')[1];
var result = name.split('name').slice( 1 ).join(''); // May be a little safer

Usando .replace().

var result = name.replace('name','');

Usando .slice()em uma corda.

var result = name.slice( 4 );
user113716
fonte
jquery não suporta substituição. Este é Vanilla js
Jude
9

Isso é simplesmente JavaScript: veja substringe substr.

Casablanca
fonte
1
Ou de fato slice(). O estranho JS deve ter tantas maneiras de dizer a mesma coisa, todas sutilmente diferentes. slice()é o meu método preferido, pois se comporta de forma consistente com as slice()matrizes e permite índices de início e fim negativos para o índice do fim.
bobince
@bobince: Verdade, e nunca me lembro qual substringe substrusa um parâmetro de comprimento e qual usa um índice final - sempre preciso consultar a documentação para descobrir.
casablanca
4

Você não precisa do jquery para fazer isso.

var placeHolder="name";
var res=name.substr(name.indexOf(placeHolder) + placeHolder.length);
Maurizio Cucchiara
fonte
Preciso fazer no lado do cliente e já tenho o jquery. O que você está sugerindo então? Desculpe pela pergunta simples, mas sou bastante iniciante em js e jquery.
Gorge
Essa declaração retornaria "nameGorge" porque indexOf ("name") retornaria 0.
Justin Niessner
2
var name = "nameGorge";
name.match(/[A-Z].*/)[0]

fonte
0

Sim, você pode, embora dependa da funcionalidade inerente do Javascript e não da biblioteca jQuery.

http://www.w3schools.com/jsref/jsref_substr.asp A substrfunção permitirá que você extraia certas partes da string.

Agora, se você estiver procurando por uma string ou caractere específico a ser usado para encontrar que parte da string deve ser extraída, você pode usar a função indexOf também. http://www.w3schools.com/jsref/jsref_IndexOf.asp

A questão é um tanto vaga; mesmo apenas link de texto com 'nome' alcançará o resultado desejado. Qual é o critério para obter sua substring, exatamente?

Aaronofleonard
fonte
1
Por que você vinculou a strposfunção do PHP em uma pergunta sobre JavaScript?
Casablanca
Você está certo, muito PHP para mim hoje. Eu editei com o equivalente JS apropriado. Obrigado por pegar.
aaronofleonard
-1

Que tal o seguinte?

<script charset='utf-8' type='text/javascript'>
  jQuery(function($) { var a=$; a.noConflict();
    //assumming that you are using an input text 
    //  element with the text "nameGorge"
    var itext_target = a("input[type='text']:contains('nameGorge')");
    //gives the second part of the split which is 'Gorge'
    itext_target.html().split("nameGorge")[1];
    ...
  });
</script>
Jean Paul AKA el_vete
fonte