3 Stimmen

Wie kann ich in MATLAB ein Akronym aus einer Zeichenkette erzeugen?

Gibt es eine einfache Möglichkeit, in MATLAB ein Akronym aus einer Zeichenkette zu erzeugen? Zum Beispiel:

'Superior Temporal Gyrus' => 'STG'

8voto

gnovice Punkte 124264

Wenn Sie jeden Großbuchstaben in eine Abkürzung umwandeln wollen...

... könnten Sie die Funktion REGEXP :

str = 'Superior Temporal Gyrus';  %# Sample string
abbr = str(regexp(str,'[A-Z]'));  %# Get all capital letters

... oder Sie können die Funktionen UPPER y ISSPACE :

abbr = str((str == upper(str)) & ~isspace(str));  %# Compare str to its uppercase
                                                  %#   version and keep elements
                                                  %#   that match, ignoring
                                                  %#   whitespace

... oder Sie könnten stattdessen die ASCII/UNICODE-Werte für Großbuchstaben:

abbr = str((str <= 90) & (str >= 65));  %# Get capital letters A (65) to Z (90)

Wenn Sie jeden Buchstaben, mit dem ein Wort beginnt, in eine Abkürzung packen wollen...

... könnten Sie die Funktion REGEXP :

abbr = str(regexp(str,'\w+'));  %# Get the starting letter of each word

... oder Sie können die Funktionen STRTRIM , FINDEN SIE et ISSPACE :

str = strtrim(str);  %# Trim leading and trailing whitespace first
abbr = str([1 find(isspace(str))+1]);  %# Get the first element of str and every
                                       %#   element following whitespace

... oder Sie können die obigen Angaben ändern, indem Sie logische Indizierung um den Aufruf von FINDEN SIE :

str = strtrim(str);  %# Still have to trim whitespace
abbr = str([true isspace(str)]);

Wenn Sie jeden Kapital Buchstaben, die ein Wort beginnen, in eine Abkürzung umwandeln...

... können Sie die Funktion REGEXP :

abbr = str(regexp(str,'\<[A-Z]\w*'));

0voto

Ali Punkte 251

Danke, auch dafür:

s1(regexp(s1, '[A-Z]', 'start'))

gibt eine aus Großbuchstaben bestehende Abkürzung in der Zeichenkette zurück. Beachten Sie, dass die Zeichenkette in Sentence Case sein muss

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