C # Erstellen Sie ein Akronym aus Word

8

Wenn eine Zeichenfolge angegeben wird, möchte ich ein intelligentes Akronym erstellen, das die Zeichenfolge darstellt. Wenn jemand von euch JIRA benutzt hat, erreichen sie das ziemlich gut.

Wenn Sie zum Beispiel das Wort Phoenix eingeben, würde PHX erzeugt oder das Wort Privacy Event Management erzeugt PEM .

Ich habe einen Code, der das letzte erreicht:

%Vor%

Dieser Fall wird nicht behandelt, wenn es nur ein Wort und seinen Kleinbuchstaben gibt.

aber es berücksichtigt nicht den ersten Fall. Irgendwelche Ideen? Ich benutze C # 4.5

    
amcdnl 07.01.2014, 15:41
quelle

2 Antworten

1

Ich konnte den JIRA-Schlüsselgenerator extrahieren und habe ihn hier gepostet. ziemlich interessant, und obwohl sein JavaScript es könnte leicht in c # umgewandelt werden.

    
amcdnl 06.02.2014, 17:10
quelle
3

Für den Phoenix = & gt; PHX, ich denke, du musst die Strings mit einem Wörterbuch bekannter Abkürzungen abgleichen. Wie für die Unterstützung mehrerer Wörter / camel-case, Regex ist dein Freund!

%Vor%

Lassen Sie mich erklären, was hier passiert, beginnend mit dem Regex-Muster, das einige Fälle für übereinstimmende Teilstrings abdeckt.

%Vor%

Die Regex.Matches-Methode gibt eine MatchCollection zurück, bei der es sich im Grunde um eine ICollection handelt. Um LINQ-Ausdrücke zu verwenden, rufen wir OfType () auf, um MatchCollection in ein IEnumerable zu konvertieren.

%Vor%

Dann wählen wir nur den Wert der Übereinstimmung aus (wir brauchen nicht die anderen regulären Meta-Daten) und wandeln sie in Großbuchstaben um.

%Vor%     
Justin Ryder 07.01.2014 16:54
quelle

Tags und Links