199 votes

Convertir camelCaseText en texte de casse de phrase

Comment puis-je convertir une chaîne comme 'helloThere' ou 'HelloThere' en 'Hello There' en JavaScript ?

2voto

Je pense que cela peut être fait juste avec l'exp. rég. /([a-z]|[A-Z]+)([A-Z])/g et remplacement "$1 $2" .

ILoveTheUSADope -> J'aime la drogue aux USA

2voto

Roko C. Buljan Points 46488

Utilisation de JS String.prototype.replace() et String.prototype.toUpperCase()

const str = "thisIsATestString";
const res = str.replace(/^[a-z]|[A-Z]/g, (c, i) => (i? " " : "") + c.toUpperCase());

console.log(res);  // "This Is A Test String"

2voto

Colduction Points 23

La réponse la plus compatible pour des mots consécutifs en majuscules c'est ça :

var text = 'theKD';
var result = text.replace(/([A-Z]{1,})/g, " $1");
var finalResult = result.charAt(0).toUpperCase() + result.slice(1);
console.log(finalResult);

- Il est également compatible avec " Le KD "et il ne le convertira pas en " Le K D ".

1voto

Tabbyofjudah Points 523

Je n'ai pas essayé les réponses de tout le monde, mais les quelques solutions que j'ai bricolées ne correspondaient pas à toutes mes exigences.

J'ai réussi à trouver quelque chose qui fait...

export const jsObjToCSSString = (o={}) =>
    Object.keys(o)
          .map(key => ({ key, value: o[key] }))
          .map(({key, value}) =>
              ({
                key: key.replace( /([A-Z])/g, "-$1").toLowerCase(),
                value
              })
          )
          .reduce(
              (css, {key, value}) => 
                  `${css} ${key}: ${value}; `.trim(), 
              '')

1voto

Rahul Points 76

Vous trouverez ci-dessous un lien qui vous permettra de transformer une chaîne de caractères avec une casse de type camel en une chaîne de caractères avec une expression rationnelle.

Entrée

myCamelCaseSTRINGToSPLITDemo

Sortie

my Camel Case STRING To SPLIT Demo


Il s'agit d'une regex pour la conversion de la casse camel en texte de phrase.

(?=[A-Z][a-z])|([A-Z]+)([A-Z][a-rt-z][a-z]\*)

avec $1 $2 en tant que subsitution.

Cliquez pour voir la conversion sur regex

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X