Cómo hacer una subcadena en jquery

115

¿Cómo puedo usar jquery en el lado del cliente para crear una subcadena "nameGorge" y eliminar "name" para que solo dé como resultado "Gorge"?

var name = "nameGorge"; //output Gorge
Garganta
fuente
15
jQuery es una biblioteca escrita en JavaScript. Se usa sobre JavaScript. Lo que está pidiendo se puede hacer en JavaScript sin la necesidad de usar la biblioteca jQuery en absoluto.
Jeff
1
jQuery IS JavaScript (una biblioteca de JavaScript para ser exactos, pero JavaScript, no obstante). Dicho esto, no creo que el uso de jQuery para obtener una subcadena pueda escribirse más fácilmente de lo que ya es en JavaScript.
VoidKing

Respuestas:

235

¡No se necesita jQuery! Simplemente use el método de subcadena:

var gorge = name.substring(4);

O si el texto que desea eliminar no es estático:

var name = 'nameGorge';
var toRemove = 'name';
var gorge = name.replace(toRemove,'');
Justin Niessner
fuente
5
Lo siento, no esperaba que esto explotara tan fuerte después de irme a dormir. He limpiado un poco las cosas aquí. Mientras tanto, alguien necesita leer esto
BoltClock
Hey BoltClock: ¿Cómo estás? Estaba tratando de demostrar un punto aquí, muchas gracias ... eso significa que si estoy tratando de renovar un código para un cliente, y vengo aquí buscando una respuesta, la respuesta marcada de la operación es satisfactoria para él. . entonces no puedo simplemente publicar la misma pregunta ni dar un ejemplo de mi problema ... muy interesante ... así que mi pregunta era cómo están estos tipos tan seguros de que si estoy ejecutando una función jQuery y dentro uso .split estoy refiriéndose a la forma JS nativa o algún tipo de túnel o proxy para activar eso a través de jQuery. También si lees la pregunta.
Jean Paul AKA el_vete
Mi punto es que para mí está trabajando dentro del espacio de nombres jQuery, realmente no me importa mucho si el caso es que está llamando directamente a string.split desde JS, pero en cambio desde la comunidad he entendido que si publico esa pregunta exacta, se marcará como restringido, ya que esta respuesta es más aceptada que el hecho de que hay una referencia de documentación jQuery.split en algún lugar para mí, al menos me dice que debería ser porque está allí sin dar ningún conflicto a mi código y a todo el jQuery complementos que en las imágenes eliminadas
pudiste
5
@JeanPaul - jQuery no tiene split (). Ya hemos pasado por esto. Ambos artículos a los que vinculó anteriormente usaron text () para obtener una cadena de JavaScript vainilla y luego llamaron string.split (). Simplemente estás equivocado en este caso. Déjalo caer.
Justin Niessner
52

Usando .split(). (La segunda versión usa .slice()y .join()en la matriz).

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()en una cuerda.

var result = name.slice( 4 );
usuario113716
fuente
jquery no admite reemplazar. Esto es Vanilla js
Jude
9

Eso es simplemente JavaScript: vea substringy substr.

casablanca
fuente
1
O de hecho slice(). Strange JS debería tener tantas formas de decir lo mismo, todas sutilmente diferentes. slice()es mi método preferido, ya que se comporta de forma coherente con las slice()matrices y permite índices de inicio y fin negativos para el índice desde el final.
Bobince
@bobince: Verdadero, y nunca recuerdo cuál de substringy substrtoma un parámetro de longitud y cuál toma un índice final; siempre necesito buscar los documentos para averiguarlo.
casablanca
4

No necesitas jquery para hacer eso.

var placeHolder="name";
var res=name.substr(name.indexOf(placeHolder) + placeHolder.length);
Maurizio Cucchiara
fuente
Necesito hacerlo en el lado del cliente y ya tengo jquery. ¿Qué sugieres entonces? Perdón por la pregunta simple, pero soy bastante principiante con js y jquery.
Garganta
Esa declaración devolvería "nameGorge" porque indexOf ("name") devolvería 0.
Justin Niessner
2
var name = "nameGorge";
name.match(/[A-Z].*/)[0]

fuente
0

Sí, puede, aunque se basa en la funcionalidad inherente de Javascript y no en la biblioteca jQuery.

http://www.w3schools.com/jsref/jsref_substr.asp Elsubstr función le permitirá extraer ciertas partes de la cadena.

Ahora, si está buscando una cadena o carácter específico para usar para encontrar qué parte de la cadena extraer, también puede hacer uso de la función indexOf. http://www.w3schools.com/jsref/jsref_IndexOf.asp

Sin embargo, la pregunta es algo vaga; incluso solo vincular el texto con 'nombre' logrará el resultado deseado. ¿Cuáles son los criterios para obtener su subcadena exactamente?

Aaronofleonard
fuente
1
¿Por qué se ha vinculado a la strposfunción de PHP en una pregunta sobre JavaScript?
casablanca
Tienes razón, demasiado PHP para mí hoy. He editado con el equivalente JS apropiado. Gracias por atraparlo.
Aaronofleonard
-1

¿Qué tal lo siguiente?

<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
fuente