Frage Javascript Regex - Kamel zu Aktenkoffer


Jeder hat eine Regex in Javascript für die Konvertierung:

someCamelCase in einen Dateifall

oder

SomeCamelCase in einen Dateifall

??

Wenn ja, wäre das sehr hilfreich.

Vielen Dank.


5
2017-09-09 01:19


Ursprung


Antworten:


Sie können einen einfachen Regexp erstellen, um einen Kleinbuchstaben zu erfassen, der an einen Großbuchstaben angrenzt, einen Strich zwischen beiden eingeben und das Ergebnis in Kleinbuchstaben schreiben.

Beispielsweise:

function fileCase(str) {
  return str.replace(/([a-z])([A-Z])/g, "$1-$2").toLowerCase();
}

fileCase('SomeCamelCase'); // "some-camel-case"
fileCase('someCamelCase'); // "some-camel-case"

6
2017-09-09 01:30



Hier. Probier diese.

"SomeCamelCase".replace(/[A-Z]/g, function(m){return '_' + m.toLowerCase();});

oder als eine Funktion

function camelToHiphen(str){
    return str.replace(/[A-Z]/g, function(m){return '_' + m.toLowerCase();});
}

1
2017-09-09 01:29



Kamelfall <=> Bindestrichfall-Konvertierungsmethoden:

Disclaimer: Ich dulde es nicht   den String - Prototyp in der   wie ich das unten habe.

Dies ist eine Prototyp-Methode für die Zeichenfolge camelCase, die Bindestrich-Großbuchstaben berücksichtigt.

String.prototype.camelToHyphen = function() {
  return this.replace(/((?!^)[A-Z])/g, '-$1').toLowerCase();
};

Diese Lösung wurde durch meine Suche nach dem genauen Gegenteil geschaffen.

String.prototype.hyphenToCamel = function() {
  return (/-[a-z]/g.test(this)) ? this.match(/-[a-z]/g).map(function(m, n){
    return m.replace(n, n.toUpperCase()[1]);
  }, this) : this.slice(0);
};

Ich denke, das sind häufig genug Probleme, aber ich konnte nichts finden, was sie auf diese Weise summiert.


0
2018-04-27 04:53