¿Cómo eliminar texto de una cadena?


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 ().


¿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, "");

¿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


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


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.


17

Ex:-

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

Se espera que esto funcione para usted.


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


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 :)


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.


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.
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.