J'ai créé une fonction de tri javascript pour trier une liste d'articles par titre. Je vais convertir tous les mots triables en lettres majuscules, donc je n'ai pas à gérer les différences associées aux minuscules et aux majuscules. J'ai du mal à créer une expression qui efface tous les caractères avant le mot qui ne sont pas [A-Z]. Je ne connais pas très bien les expressions régulières et toute aide serait appréciée. Je cherche quelque chose comme ça ...
function cleanup(e) {
// delete leading not alphanum characters
// capitalize for sorting
// str.replace(/^\s*/, '').replace(/\s*$/, '');
return(e);
}
3 réponses
Si vous utilisez le délimiteur i
, l'expression régulière sera insensible à la casse, vous pouvez l'utiliser lorsque vous comparez des mots.
Essayez ceci http://jsfiddle.net/5Rxs5/
Remplacera tous les caractères non a-zA-Z avant le texte:
var str = "#$DSFfd#_)#$$";
alert(str.replace(/[^a-z]+/i, ""))
Si vous souhaitez supprimer tous les caractères non a-zA-Z, faites cela (ajout du délimiteur g
, ce qui signifie global):
var str = "#$DSFfd#_)#$$";
alert(str.replace(/[^a-z]+/gi, ""))
Premier caractère majuscule
var str = "#$abcd#_)#$$";
str = str.replace(/[^a-z]+/i,"");
str = str.match(/(^.)(.+)/);
str = str[1].toUpperCase() + str[2];
alert(str);
Alertes:
Abcd#_)#$$
str.replace(/^[^\w\d]*/, '');
Testé à l'aide de: http://www.regextester.com/
Essaye ça:
str.replace(/^[^a-z]+/i, '').toUpperCase();
Questions connexes
De nouvelles questions
javascript
Pour des questions concernant la programmation dans ECMAScript (JavaScript / JS) et ses divers dialectes / implémentations (hors ActionScript). Veuillez inclure toutes les balises pertinentes dans votre question; par exemple, [node.js], [jquery], [json], etc.