Verwijder ALLE spaties uit tekst

Dit is een fragment uit mijn code. Ik wil een klasse aan een ID toevoegen nadat ik de teksteigenschap van een andere ID heb gekregen. Het probleem hiermee is dat de ID met de tekst die ik nodig heb, gaten tussen de letters bevat.

Ik wil graag dat de witruimte wordt verwijderd. Ik heb TRIM()en REPLACE()geprobeerd, maar dit werkt maar gedeeltelijk. De REPLACE()verwijdert alleen de eerste spatie.


Antwoord 1, autoriteit 100%

Je moet vervangen() vertellen om de regex te herhalen:

.replace(/ /g,'')

Het teken gmaakt er een “algemene” overeenkomst van, wat betekent dat de zoekopdracht door de hele tekenreeks wordt herhaald. Lees hierover en andere RegEx-modifiers die beschikbaar zijn in JavaScript hier.

Als u alle witruimte wilt matchen, en niet alleen de letterlijke spatie, gebruikt u in plaats daarvan \s:

.replace(/\s/g,'')

Je kunt ook .replaceAllals u een voldoende recente versie van JavaScript gebruikt, maar er is niet echt een reden voor uw specifieke gebruik, aangezien het vangen van allewitruimte een regex vereist, en als je een regex gebruikt met .replaceAll, moet deze globaal zijn, dus je hoeft alleen maar extra te typen:

.replaceAll(/\s/g,'')

Antwoord 2, autoriteit 20%

.replace(/\s+/, "") 

Vervangt alleen de eerste witruimte, inclusief spaties, tabs en nieuwe regels.

Om alle witruimte in de tekenreeks te vervangen, moet je de algemene modus gebruiken

.replace(/\s/g, "")

Antwoord 3

Nu kunt u “replaceAll” gebruiken:

console.log(' a b    c d e   f g   '.replaceAll(' ',''));

zal afdrukken:

abcdefg

Maar werkt niet in elke mogelijke browser:

https://developer.mozilla. org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/replaceAll


Antwoord 4

Met behulp van String.prototype.replacedoor regex, zoals vermeld in de andere antwoorden, is zeker de beste oplossing.

Maar voor de lol kun je ook alle spaties uit een tekst verwijderen met String.prototype.spliten String.prototype.join:

const text = ' a b    c d e   f g   ';
const newText = text.split(/\s/).join('');
console.log(newText); // prints abcdefg

Antwoord 5

Regex voor het verwijderen van witruimte

\s+

var str = "Visit Microsoft!";
var res = str.replace(/\s+/g, "");
console.log(res);

Antwoord 6

Gebruik replace(/\s+/g,''),

bijvoorbeeld:

const stripped = '    My String With A    Lot Whitespace  '.replace(/\s+/g, '')// 'MyStringWithALotWhitespace'

Antwoord 7

Het gebruik van .replace(/\s+/g,”) werkt prima;

Voorbeeld:

this.slug = removeAccent(this.slug).replace(/\s+/g,'');

Antwoord 8

function RemoveAllSpaces(ToRemove)
{
    let str = new String(ToRemove);
    while(str.includes(" "))
    {
        str = str.replace(" ", "");
    }
    return str;
}

Other episodes