¿Cómo eliminar texto de una cadena?

578

Tengo una data-123cuerda

¿Cómo puedo eliminar data-de la cadena mientras dejo el 123?

Michael Grigsby
fuente

Respuestas:

1159

var ret = "data-123".replace('data-','');
console.log(ret);   //prints: 123

Doc.


Para todos los casos que se descartarán, use:

var ret = "data-123".replace(/data-/g,'');

PD: la función de reemplazo devuelve una nueva cadena y deja la cadena original sin cambios, así que use el valor de retorno de la función después de la llamada de reemplazo ().

Mathletics
fuente
¿Cómo reemplazar múltiples expresiones? ¿Tiene que usar múltiples llamadas .replace?
Dror Bar
124

Esto no tiene nada que ver con jQuery. Puede usar la replacefunción JavaScript para esto:

var str = "data-123";
str = str.replace("data-", "");

También puede pasar una expresión regular a esta función. En el siguiente ejemplo, reemplazaría todo excepto los numéricos:

str = str.replace(/[^0-9\.]+/g, "");
James Johnson
fuente
¿Podría explicar qué hace la expresión regular? No entiendo por qué reemplaza la cadena, excepto los números si 0-9se indicó.
rotimi-best
60

Se puede utilizar "data-123".replace('data-','');, como se ha mencionado, pero tan replace()sólo se reemplaza el PRIMER aparición del texto coincidente, si su cadena era algo parecido a "data-123data-"continuación,

"data-123data-".replace('data-','');

solo reemplazará el primer texto coincidente. Y tu salida será"123data-"

MANIFESTACIÓN

Entonces, si desea que todas las coincidencias de texto se reemplacen en una cadena, debe usar una expresión regular con la gbandera de esa manera:

"data-123data-".replace(/data-/g,'');

Y tu salida será "123"

DEMO2

laaposto
fuente
28

puede usar slice () returens charcters entre inicio y fin (punto final incluido)

   string.slice(start , end);

Aquí hay algunos ejemplos para mostrar cómo funciona:

var mystr = ("data-123").slice(5); // jast define start point so output is "123"
var mystr = ("data-123").slice(5,7); // define start and end  so output is "12"
var mystr=(",246").slice(1); // returens "246"

Manifestación

Sr. Shojaei
fuente
23

Bastará con JavaScript antiguo: jQuery no es necesario para una tarea tan simple:

var myString = "data-123";
var myNewString = myString.replace("data-", "");

Ver: .replace()documentos en MDN para información adicional y uso.

James Hill
fuente
17

Ex:-

var value="Data-123";
var removeData=value.replace("Data-","");
alert(removeData);

Se espera que esto funcione para usted.

Ranjit Kanojia
fuente
11

Estaba acostumbrado al método C # (Sharp) String.Remove. En Javascript, no hay una función de eliminación para la cadena, pero hay una función substr. Puede usar la función substr una o dos veces para eliminar caracteres de la cadena. Puede realizar la siguiente función para eliminar caracteres en el índice de inicio al final de la cadena, al igual que el método c # sobrecarga primero String.Remove (int startIndex):

function Remove(str, startIndex) {
    return str.substr(0, startIndex);
}

y / o también puede realizar la siguiente función para eliminar caracteres en el índice de inicio y contar, al igual que la segunda sobrecarga String.Remove del método c # (int startIndex, int count):

function Remove(str, startIndex, count) {
    return str.substr(0, startIndex) + str.substr(startIndex + count);
}

¡y luego puede usar estas dos funciones o una de ellas para sus necesidades!

Ejemplo:

alert(Remove("data-123", 0, 5));

Salida: 123


fuente
9

Esta pequeña función que hice siempre me ha funcionado :)

String.prototype.deleteWord = function (searchTerm) {
    var str = this;
    var n = str.search(searchTerm);
    while (str.search(searchTerm) > -1) {
        n = str.search(searchTerm);
        str = str.substring(0, n) + str.substring(n + searchTerm.length, str.length);
    }
    return str;
}

// Use it like this:
var string = "text is the the cool!!";
string.deleteWord('the'); // Returns text is cool!!

Sé que no es el mejor, pero siempre me ha funcionado :)


fuente
Está mostrando en su respuesta cómo la función de reemplazo de cadena funciona más o menos, pero de hecho, solo usar la función de reemplazo de cadena es un código mucho más simple y fácil que el suyo.
9
str.split('Yes').join('No'); 

Esto reemplazará todas las ocurrencias de esa cadena específica de la cadena original.

ARCO
fuente
8

Usando match()y Number()para devolver una numbervariable:

Number(("data-123").match(/\d+$/));

// strNum = 123

Esto es lo que hace la declaración anterior ... trabajando a medias:

  1. str.match(/\d+$/) - devuelve una matriz que contiene coincidencias a cualquier longitud de números al final de str . En este caso, devuelve una matriz que contiene un único elemento de cadena ['123'].
  2. Number()- lo convierte a un tipo de número. Debido a que la matriz devuelta desde .match()contiene un solo elemento Number()devolverá el número.
Brett DeWoody
fuente