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.