5172 Stimmen

Wie wird der erste Buchstabe einer Zeichenkette in JavaScript großgeschrieben?

Wie kann ich den ersten Buchstaben einer Zeichenkette in Großbuchstaben umwandeln, ohne die Großschreibung der anderen Buchstaben zu ändern?

Zum Beispiel:

  • "this is a test" "This is a test"
  • "the Eiffel Tower" "The Eiffel Tower"
  • "/index.html" "/index.html"

5voto

DiaMaBo Punkte 1119

Einfach installieren und laden Lodash :

import { capitalize } from "lodash";

capitalize('test') // Test

4voto

Jackkobec Punkte 4677

Das ist die einfachste Lösung:

let yourSentence = 'it needs first letter upper case';

yourSentence.charAt(0).toUpperCase() + yourSentence.substr(1);

oder:

yourSentence.charAt(0).toUpperCase() + yourSentence.slice(1);

oder:

yourSentence.substr(0, 1).toUpperCase() + yourSentence.substr(1);

3voto

Mr. X Punkte 258

Ich verwende etwas in dieser Art in meiner Entwicklungsumgebung, insbesondere bei der Arbeit mit APIs wie HTTP:

Angenommen, Sie haben einen HTTP-Header, in dem Sie jeden Anfangsbuchstaben des Namens groß schreiben und den Bindestrich zwischen den einzelnen Wörtern hinzufügen möchten. So etwas können Sie mit dieser einfachen Routine erreichen:

'access control allow origin'
    .replace(/\b\w/g, function (match) {
        return match.toUpperCase();
    })
    .split(' ')
    .join('-');

// Output: 'Access-Control-Allow-Origin'

Es ist vielleicht nicht die eleganteste und attraktivste Funktionsdefinition, die es gibt, aber sie erfüllt ihre Aufgabe auf jeden Fall.

3voto

ISFO Punkte 129

Gefällt mir:

function capitalize(string,a) {
    var tempstr = string.toLowerCase();
    if (a == false || a == undefined)
        return tempstr.replace(tempstr[0], tempstr[0].toUpperCase());
    else {
        return tempstr.split(" ").map(function (i) { return i[0].toUpperCase() + i.substring(1) }).join(" ");
    }
}

capitalize('stack overflow yeah!',true)); //Stack Overflow Yeah!

capitalize('stack stack stack stack overflow yeah!'));//Stack overflow yeah!

https://jsfiddle.net/dgmLgv7b/

3voto

szanata Punkte 2376

Ein Einzeiler:

'string'.replace(/(^[a-z])/,function (p) { return p.toUpperCase(); } )

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X