Come rimuovere il testo da una stringa?


Risposte:


1159

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

Documenti.


Per tutte le occorrenze da scartare usare:

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

PS: la funzione di sostituzione restituisce una nuova stringa e lascia invariata la stringa originale, quindi utilizzare il valore restituito dalla funzione dopo la chiamata di sostituzione ().


Come sostituire più espressioni? Devi usare più chiamate .replace?
Dror Bar,

124

Questo non ha nulla a che fare con jQuery. È possibile utilizzare la replacefunzione JavaScript per questo:

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

Puoi anche passare una regex a questa funzione. Nel seguente esempio, sostituirebbe tutto tranne i numeri:

str = str.replace(/[^0-9\.]+/g, "");

Potresti spiegare cosa fa la regex? Non capisco perché sostituisce la stringa tranne i numeri se è 0-9stato indicato.
Rotimi-best

60

Puoi usare "data-123".replace('data-','');, come detto, ma come replace()sostituisce solo la PRIMA istanza del testo corrispondente, se la tua stringa era simile a quella di "data-123data-"allora

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

sostituirà solo il primo testo corrispondente. E il tuo output sarà"123data-"

DEMO

Quindi se vuoi che tutte le corrispondenze di testo vengano sostituite in stringa devi usare un'espressione regolare con il gflag in questo modo:

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

E il tuo output sarà "123"

DEMO2


28

puoi usare slice () che riavvia i caratteri tra inizio e fine (punto finale incluso)

   string.slice(start , end);

ecco alcuni exmp per mostrare come funziona:

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"

dimostrazione


23

È sufficiente il semplice vecchio JavaScript: jQuery non è necessario per un'attività così semplice:

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

Vedi: .replace()documenti su MDN per ulteriori informazioni e utilizzo.


17

Ex:-

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

Spero che questo funzioni per te.


11

Ero abituato al metodo String #Remove C # (Sharp). In Javascript, non esiste una funzione di rimozione per la stringa, ma esiste una funzione substr. È possibile utilizzare la funzione substr una o due volte per rimuovere i caratteri dalla stringa. È possibile effettuare la seguente funzione per rimuovere i caratteri dall'indice iniziale alla fine della stringa, proprio come il primo metodo c # sovraccarica String.Remove (int startIndex):

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

e / o è anche possibile effettuare la seguente funzione per rimuovere i caratteri nell'indice iniziale e nel conteggio, proprio come il secondo sovraccarico del metodo c # String.Remove (int startIndex, int count):

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

e quindi puoi usare queste due funzioni o una di esse per le tue esigenze!

Esempio:

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

Uscita: 123


9

Questa piccola funzione che ho fatto ha sempre funzionato per me :)

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

So che non è il migliore, ma ha sempre funzionato per me :)


Stai mostrando nella tua risposta come la funzione di sostituzione della stringa funziona più o meno, ma in effetti usare semplicemente la funzione di sostituzione della stringa è un codice molto più semplice e facile del tuo!

9
str.split('Yes').join('No'); 

Ciò sostituirà tutte le occorrenze di quella stringa specifica dalla stringa originale.


8

Utilizzo match()e Number()per restituire una numbervariabile:

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

// strNum = 123

Ecco cosa fa la dichiarazione sopra ... lavorando a metà campo:

  1. str.match(/\d+$/)- restituisce un array contenente corrispondenze a qualsiasi lunghezza di numeri alla fine di str. In questo caso restituisce un array contenente un singolo elemento stringa ['123'].
  2. Number()- lo converte in un tipo di numero. Poiché l'array restituito da .match()contiene un singolo elemento Number()restituirà il numero.
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.