Come sottostringa in jquery


115

Come posso usare jquery sul lato client per la sottostringa "nameGorge" e rimuovere "name" in modo che restituisca solo "Gorge"?

var name = "nameGorge"; //output Gorge

15
jQuery è una libreria scritta in JavaScript. Viene utilizzato sopra JavaScript. Quello che stai chiedendo può essere fatto in JavaScript senza la necessità di utilizzare la libreria jQuery.
Jeff

1
jQuery È JavaScript (una libreria JavaScript per essere esatti, ma JavaScript, comunque). Detto questo, non penso che l'uso di jQuery per ottenere una sottostringa possa mai essere scritto più facilmente di quanto non sia già in JavaScript diretto.
VoidKing

Risposte:


235

Non è necessario jQuery! Usa semplicemente il metodo della sottostringa:

var gorge = name.substring(4);

O se il testo che vuoi rimuovere non è statico:

var name = 'nameGorge';
var toRemove = 'name';
var gorge = name.replace(toRemove,'');

5
Mi dispiace, non mi aspettavo che scoppiasse così forte dopo essere andato a dormire. Ho ripulito un po 'le cose qui. Nel frattempo, qualcuno ha bisogno di leggere questo
BoltClock

Hey BoltClock: come stai? Stavo cercando di dimostrare un punto qui, grazie mille .. questo significa che se sto provando a rinnovare un codice per un cliente, e vengo qui in cerca di una risposta, e la risposta contrassegnata dall'operazione è soddisfacente per lui. .quindi non posso semplicemente pubblicare la stessa domanda né dare un esempio del mio problema .. molto interessante .. quindi la mia domanda era come questi ragazzi sono così sicuri che se sto eseguendo una funzione jQuery e dentro uso .split io sono riferendosi al modo JS nativo o una sorta di tunneling o proxy per attivarlo tramite jQuery. Anche se leggi la domanda.
Jean Paul AKA el_vete

Il punto è che per me sta lavorando all'interno dello spazio dei nomi jQuery, davvero non mi interessa molto se il caso è che chiama direttamente string.split da JS, ma invece dalla comunità ho capito che se posto quella domanda esatta, sarà contrassegnato come ristretto, poiché questa risposta è più accettata del fatto che ci sia un riferimento alla documentazione jQuery.split da qualche parte per me almeno mi dice che dovrebbe essere perché è lì senza dare alcun conflitto al mio codice ea tutto il jQuery plugin che sulle immagini cancellate sei stato in grado di vedere ... quindi grazie ancora una volta
Jean Paul AKA el_vete

5
@JeanPaul - jQuery non ha split (). Ne abbiamo già parlato. Entrambi gli articoli che hai collegato a text () precedentemente utilizzati per ottenere una stringa JavaScript vanilla e quindi chiamati string.split (). In questo caso hai semplicemente torto. Lascialo cadere.
Justin Niessner

52

Utilizzando .split(). (La seconda versione utilizza .slice()e .join()sull'Array.)

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

Utilizzando .replace().

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

Utilizzo .slice()su una stringa.

var result = name.slice( 4 );

jquery non supporta la sostituzione. Questo è Vanilla js
Jude


9

Questo è solo un semplice JavaScript: vedi substringe substr.


1
O addirittura slice(). Strange JS dovrebbe avere così tanti modi per dire la stessa cosa, tutti sottilmente diversi. slice()è il mio metodo preferito in quanto si comporta in modo coerente con gli slice()array e consente indici di inizio e fine negativi per l'indice dalla fine.
bobince

@ Bobince: Vero, e non ricordo mai di quale substring e substrprende un parametro di lunghezza e quale prende un indice di fine - devo sempre cercare i documenti per scoprirlo.
casablanca

4

Non hai bisogno di jquery per farlo.

var placeHolder="name";
var res=name.substr(name.indexOf(placeHolder) + placeHolder.length);

Devo farlo sul lato client e ho già jquery. Cosa stai suggerendo allora? Scusa per la semplice domanda, ma sono abbastanza un principiante con js e jquery.
Gorge

Quell'istruzione restituirebbe "nameGorge" perché indexOf ("name") restituirebbe 0.
Justin Niessner,

2
var name = "nameGorge";
name.match(/[A-Z].*/)[0]

0

Sì, puoi, anche se si basa sulla funzionalità intrinseca di Javascript e non sulla libreria jQuery.

http://www.w3schools.com/jsref/jsref_substr.asp La substrfunzione ti consentirà di estrarre alcune parti della stringa.

Ora, se stai cercando una stringa o un carattere specifico da utilizzare per trovare quale parte della stringa estrarre, puoi utilizzare anche la funzione indexOf. http://www.w3schools.com/jsref/jsref_IndexOf.asp

La domanda è un po 'vaga però; anche solo collegare il testo con 'nome' otterrà il risultato desiderato. Quali sono i criteri per ottenere la tua sottostringa, esattamente?


1
Perché ti sei collegato alla strposfunzione PHP in una domanda su JavaScript?
casablanca

Hai ragione, troppo PHP per me oggi. Ho modificato con l'equivalente JS appropriato. Grazie per averlo preso.
aaronofleonard

-1

Che ne dici di quanto segue?

<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>
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.