Wie wird das erste Zeichen jedes Wortes mit einem Regex in VB.NET in Großbuchstaben geschrieben?

7

Ist es möglich, das erste Zeichen jedes Wortes mit Regex in Großbuchstaben zu schreiben?

Ich werde das in VB.net (SSIS) verwenden

    
Jeremy 03.11.2009, 15:39
quelle

10 Antworten

11

BEARBEITEN: VB.NET-Code unten hinzugefügt

%Vor%

Wenn Sie lambdas nicht verwenden können, verwenden Sie stattdessen einen MatchEvaluator:

%Vor%

Es ist nicht wirklich Titel im Sinne der MS Word-Formatierung, aber nahe genug.

Sie haben die Sprache nicht angegeben, aber in C # können Sie Folgendes tun: %Vor%

Damit werden Wörter mit einem Buchstaben gut behandelt, da Substring in der Eingabe keinen Fehler wie "A" auslöst.

    
Ahmad Mageed 03.11.2009, 15:49
quelle
25

Warum nicht einfach die eingebaute Methode TextInfo.ToTitleCase () schon im .NET Framework?

%Vor%     
Dan Diplo 03.11.2009 17:11
quelle
5

.NET hat dafür eine integrierte Unterstützung. Siehe TextInfo.ToTitleCase für die Dokumentation.

Mein Code enthält einige Erweiterungsmethoden für C #. Ich nehme an, dass VB.NET diese auch hat, aber ich kenne VB.NET nicht gut genug, um sie selbst zu konvertieren.

%Vor%     
sisve 03.11.2009 17:08
quelle
5
%Vor%     
Chathuranga Medawala 17.10.2011 13:40
quelle
4
%Vor%     
Chris Ballance 03.11.2009 15:43
quelle
2

Nicht in "reinem" Regex, aber die meisten plattformspezifischen Implementierungen haben eine Möglichkeit, dies zu tun:

Zum Beispiel in Python:

%Vor%

In diesem Fall übergeben wir ein aufrufbares Lambda an die sub () -Methode (und nicht an eine Ersatzzeichenfolge), die die übereinstimmende Zeichenkette zurückgibt. Die meisten Sprachen haben eine Entsprechung, bei der Sie einen Call als "Ersatz" übergeben.

In VB.NET können Sie Ihr 'Ersatz' Lambda als Function (x) x.Value(0).ToString().ToUpper()

übergeben     
ʞɔıu 03.11.2009 15:43
quelle
2

Verwenden Sie ProperCase function:

%Vor%

    
user3193092 22.01.2014 14:01
quelle
1

Sehen Sie sich den ersten Buchstaben jedes Wortes groß an und C # Großbuchstaben in String , habe ich in zwei Sprachen geschrieben, Perl und C #, weil Sie die von Ihnen verwendete Sprache nicht angegeben haben.

    
Nathan Campos 03.11.2009 15:41
quelle
0

Sie könnten das tun, aber das ist eine ziemlich häufige Funktion in den meisten Programmiersprachen. Zum Beispiel ist die Funktion ucwords ($ word) in PHP.

    
Kyle J. Dye 03.11.2009 15:41
quelle
0

Führen Sie dies bei einem Tastendruck in Ihrem Textfeld aus.

%Vor%     
Tim Garcia 25.06.2015 05:20
quelle

Tags und Links