web-dev-qa-db-fra.com

Comment remplacer tous les espaces d'une chaîne

j'ai deux entrées de texte HTML, sur ce que jamais l'utilisateur tapez dans la première zone de texte qui doivent réfléchir sur la deuxième zone de texte tout en reflétant il devrait remplacer tous les espaces en point-virgule. Je l'ai fait à un certain existant et il remplace pour le premier espace pas pour tous, je pense que j'ai besoin d'utiliser. Chaque fonction de Jquery, je l'ai utilisé mais je n'ai pas obtenu le résultat exact voir ceci

HTML:

Title : <input type="text" id="title"><br/>
Keyword : <input type="text" id="keyword">

Jquery:

$('#title').keyup(function() {
    var replaceSpace = $(this).val(); 

        var result = replaceSpace.replace(" ", ";");

        $("#keyword").val(result);

});

Merci.

32
Rajesh Hatwar
var result = replaceSpace.replace(/ /g, ";");

Ici, / /g est une expression régulière (expression régulière). Le drapeau g signifie global. Cela provoque le remplacement de tous les matches.

81
Paul Draper

Javascript pur, sans expression régulière:

var result = replaceSpacesText.split(" ").join("");
8
Zon

Code simple pour remplace tous les espaces  

var str = 'How are you';
var replaced = str.split(' ').join('');

Out mis: Howareyou

2
Arshid KV

TRÈS FACILE:

utilisez simplement ceci pour remplacer tous les espaces blancs par -:

myString.replace(/ /g,"-")
1
CommonSenseCode
    $('#title').keyup(function () {
        var replaceSpace = $(this).val();

        var result = replaceSpace.replace(/\s/g, ";");

        $("#keyword").val(result);

    });

Puisque la fonction de remplacement javascript ne remplace pas "tous", nous pouvons utiliser l'expression régulière pour le remplacement. Selon vos besoins, nous devons remplacer tout l’espace, c’est-à-dire le\s de votre chaîne de manière globale. Le caractère g après les expressions régulières représente le remplacement global. Le paramètre seond sera le caractère de remplacement, c'est-à-dire le point-virgule. 

1
Aswathy

Je suis tombé sur cette idée aussi pour moi, cela a fonctionné (couvre la plupart des navigateurs):

myString.replace(/[\s\uFEFF\xA0]/g, ';');

Inspiré par ce garnissage polyfill après avoir rencontré quelques difficultés: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/trim#Polyfill

0
stefan