Hoe verwijder ik tekst uit een string?

Ik heb een data-123string.

Hoe kan ik data-uit de tekenreeks verwijderen terwijl ik de 123verlaat?


Antwoord 1, autoriteit 100%

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

Antwoord 2, autoriteit 10%

Dit heeft niets te maken met jQuery. U kunt hiervoor de JavaScript-functie replacegebruiken:

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

Je kunt ook een regex aan deze functie doorgeven. In het volgende voorbeeld zou het alles vervangen behalve cijfers:

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

Antwoord 3, autoriteit 5%

U kunt "data-123".replace('data-','');gebruiken, zoals vermeld, maar omdat replace()alleen de EERSTEinstantie van de overeenkomende tekst, als uw tekenreeks zoiets was als "data-123data-"dan

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

vervangt alleen de eerste overeenkomende tekst. En je output is "123data-"

DEMO

Dus als je wilt dat alle tekstovereenkomsten worden vervangen in een string, moet je een reguliere expressie gebruiken met de g-vlag als volgt:

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

En je output is "123"

DEMO2


Antwoord 4, autoriteit 2%

u kunt slice() gebruiken om tekens tussen begin tot eind te herhalen (inclusief eindpunt)

  string.slice(start , end);

hier is een voorbeeld om te laten zien hoe het werkt:

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"

Demo


Antwoord 5, autoriteit 2%

Gewoon oud JavaScript is voldoende – jQuery is niet nodig voor zo’n eenvoudige taak:

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

Zie:.replace()documenten op MDNvoor aanvullende informatie en gebruik.


Antwoord 6

Bijvoorbeeld:-

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

Hopelijk werkt dit voor u.


Antwoord 7

Deze kleine functie die ik heb gemaakt heeft altijd voor mij gewerkt 🙂

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 cool!!";
string.deleteWord('the'); // Returns text is cool!!

Ik weet dat het niet de beste is, maar het heeft altijd voor mij gewerkt 🙂


Antwoord 8

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

Dit vervangt alle exemplaren van die specifieke tekenreeks van de originele tekenreeks.


Antwoord 9

Ik was gewend aan de C# (Sharp) String.Remove-methode.
In Javascript is er geen verwijderfunctie voor string, maar er is een substr-functie.
U kunt de functie substr een of twee keer gebruiken om tekens uit de tekenreeks te verwijderen.
U kunt de volgende functie maken om tekens van de startindex tot het einde van de tekenreeks te verwijderen, net zoals de c#-methode eerst String.Remove(int startIndex) overbelast:

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

en/of je kunt ook de volgende functie maken om karakters te verwijderen bij start index en count, net als de c# methode second overload String.Remove(int startIndex, int count):

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

en dan kunt u deze twee functies of een van hen gebruiken voor uw behoeften!

Voorbeeld:

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

Uitvoer: 123


Antwoord 10

Gebruik match()en Number()om een numbervariabele te retourneren:

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

Dit is wat de bovenstaande verklaring doet… het midden houden:

  1. str.match(/\d+$/)– geeft een array terug die overeenkomsten bevat met een willekeurige lengte van getallen aan het einde van str. In dit geval retourneert het een array met een enkel stringitem ['123'].
  2. Number()– converteert het naar een getaltype. Omdat de array die wordt geretourneerd door .match()een enkel element bevat, zal Number()het getal retourneren.

Antwoord 11

Prestaties

Vandaag 2021.01.14 voer ik tests uit op MacOs HighSierra 10.13.6 op Chrome v87, Safari v13.1.2 en Firefox v84 voor gekozen oplossingen.

Resultaten

Voor alle browsers

  • oplossingen Ba, Cb en Db zijn snel/snelst voor lange strings
  • oplossingen Ca, Da zijn snel/snelst voor korte snaren
  • oplossingen Ab en E zijn traag voor lange snaren
  • oplossingen Ba, Bb en F zijn traag voor korte snaren

voer hier de afbeeldingsbeschrijving in

Details

Ik voer 2 testgevallen uit:

  • korte tekenreeks – 10 tekens – u kunt het HIER
  • uitvoeren

  • lange reeks – 1 000 000 tekens – u kunt het HIER
  • uitvoeren

Het onderstaande fragment presenteert oplossingen
Aa
Ab
Ba
Bb
Ca
Cb
Da
DB
E
F


Antwoord 12

Een andere manier om alle instanties van een tekenreeks te vervangen, is door de nieuwe (vanaf augustus 2020) String.prototype.replaceAll()methode.

Het accepteert een tekenreeks of RegEx als eerste argument en vervangt alle gevonden overeenkomsten met zijn tweede parameter, ofwel een tekenreeks of een functie om de tekenreeks te genereren.

Wat de ondersteuning betreft, is deze methode op het moment van schrijven overgenomen in de huidige versies van alle belangrijke desktopbrowsers* (zelfs Opera!), behalve IE. Voor mobiel worden iOS SafariiOS 13.7+, Android Chromev85+en Android Firefoxv79+ook allemaal ondersteund.

* Dit omvat Edge/Chrome v85+, Firefox v77+, Safari 13.1+ en Opera v71+

Het zal even duren voordat gebruikers updaten naar ondersteunde browserversies, maar nu er brede browserondersteuning is, is tijd het enige obstakel.

Referenties:

U kunt uw huidige browser testen in het onderstaande fragment:

//Example coutesy of MDN: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/replaceAll
const p = 'The quick brown fox jumps over the lazy dog. If the dog reacted, was it really lazy?';
const regex = /dog/gi;
try {
  console.log(p.replaceAll(regex, 'ferret'));
  // expected output: "The quick brown fox jumps over the lazy ferret. If the ferret reacted, was it really lazy?"
  console.log(p.replaceAll('dog', 'monkey'));
  // expected output: "The quick brown fox jumps over the lazy monkey. If the monkey reacted, was it really lazy?"
  console.log('Your browser is supported!');
} catch (e) {
  console.log('Your browser is unsupported! :(');
}
.as-console-wrapper: {
  max-height: 100% !important;
}

Other episodes