MATLAB Strings meistern: Einfache Erstellung & Verwendung
Das Erstellen eines Zeichenketten-Strings ist in MATLAB sehr einfach. Tatsächlich haben wir es bereits oft verwendet. Zum Beispiel geben Sie an der Eingabeaufforderung Folgendes ein:
Live Demomy_string = 'Tutorials Point'
MATLAB führt die Anweisung aus und gibt folgendes Ergebnis zurück:
my_string = Tutorials Point
MATLAB betrachtet alle Variablen als Arrays, und Strings werden als Zeichen-Arrays betrachtet. Lassen Sie uns den Befehl whos verwenden, um die oben erstellte Variable zu überprüfen:
whos
MATLAB führt die Anweisung aus und gibt folgendes Ergebnis zurück:
Name Size Bytes Class Attributes my_string 1x16 32 char
Interessanterweise können Sie numerische Konvertierungsfunktionen wie uint8 oder uint16 verwenden, um die Zeichen im String in ihre numerischen Codes umzuwandeln. Die Funktion char konvertiert den Ganzzahl-Vektor zurück in Zeichen:
Beispiel
Erstellen Sie eine Skriptdatei und geben Sie folgenden Code ein:
Live Demomy_string = 'Tutorial''s Point'; str_ascii = uint8(my_string) % 8-Bit-ASCII-Werte str_back_to_char= char(str_ascii) str_16bit = uint16(my_string) % 16-Bit-ASCII-Werte str_back_to_char = char(str_16bit)
Beim Ausführen der Datei wird folgendes Ergebnis angezeigt:
str_ascii = 84 117 116 111 114 105 97 108 39 115 32 80 111 105 110 116 str_back_to_char = Tutorial's Point str_16bit = 84 117 116 111 114 105 97 108 39 115 32 80 111 105 110 116 str_back_to_char = Tutorial's Point
Rechteckige Zeichen-Arrays
Die bisher besprochenen Strings sind eindimensionale Zeichen-Arrays; wir müssen jedoch mehrdimensionale Textdaten in unseren Programmen speichern. Dies wird durch das Erstellen rechteckiger Zeichen-Arrays erreicht.
Der einfachste Weg, ein rechteckiges Zeichen-Array zu erstellen, besteht darin, zwei oder mehr eindimensionale Zeichen-Arrays entweder vertikal oder horizontal zu verketten, wie es erforderlich ist.
Sie können Strings auf zwei Arten vertikal kombinieren:
Verwenden Sie den MATLAB-Verkettungsoperator [] und trennen Sie jede Zeile mit einem Semikolon (;). Beachten Sie, dass bei dieser Methode jede Zeile die gleiche Anzahl an Zeichen enthalten muss. Bei Strings unterschiedlicher Länge sollten Sie Leerzeichen als Auffüllung hinzufügen.
Verwenden Sie die Funktion char. Wenn die Strings unterschiedliche Längen haben, fügt char den kürzeren Strings nachgestellte Leerzeichen hinzu, sodass jede Zeile die gleiche Anzahl an Zeichen hat.
Beispiel
Erstellen Sie eine Skriptdatei und geben Sie folgenden Code ein:
Live Demo doc_profile = ['Zara Ali '; ... 'Sr. Surgeon '; ... 'R N Tagore Cardiology Research Center'] doc_profile = char('Zara Ali', 'Sr. Surgeon', ... 'RN Tagore Cardiology Research Center')
Beim Ausführen der Datei wird folgendes Ergebnis angezeigt:
doc_profile = Zara Ali Sr. Surgeon R N Tagore Cardiology Research Center doc_profile = Zara Ali Sr. Surgeon RN Tagore Cardiology Research Center
Sie können Strings auf zwei Arten horizontal kombinieren:
Verwenden Sie den MATLAB-Verkettungsoperator [] und trennen Sie die Eingabe-Strings durch ein Komma oder ein Leerzeichen. Diese Methode behält nachgestellte Leerzeichen in den Eingabe-Arrays bei.
Verwenden Sie die String-Verkettungsfunktion strcat. Diese Methode entfernt nachgestellte Leerzeichen in den Eingaben.
Beispiel
Erstellen Sie eine Skriptdatei und geben Sie folgenden Code ein:
Live Demoname = 'Zara Ali '; position = 'Sr. Surgeon '; worksAt = 'R N Tagore Cardiology Research Center'; profile = [name ', ' position ', ' worksAt] profile = strcat(name, ', ', position, ', ', worksAt)
Beim Ausführen der Datei wird folgendes Ergebnis angezeigt:
profile = Zara Ali , Sr. Surgeon , R N Tagore Cardiology Research Center profile = Zara Ali,Sr. Surgeon,R N Tagore Cardiology Research Center
Strings in ein Zell-Array zusammenfassen
Aus unserer vorherigen Diskussion geht hervor, dass das Kombinieren von Strings unterschiedlicher Länge mühsam sein kann, da alle Strings im Array die gleiche Länge haben müssen. Wir haben Leerzeichen am Ende der Strings verwendet, um ihre Länge anzugleichen.
Eine effizientere Methode, Strings zu kombinieren, besteht darin, das resultierende Array in ein Zell-Array umzuwandeln.
MATLAB-Zell-Arrays können Daten unterschiedlicher Größe und Typen in einem Array speichern. Zell-Arrays bieten eine flexiblere Möglichkeit, Strings variabler Länge zu speichern.
Die Funktion cellstr konvertiert ein Zeichen-Array in ein Zell-Array von Strings.
Beispiel
Erstellen Sie eine Skriptdatei und geben Sie folgenden Code ein:
Live Demoname = 'Zara Ali '; position = 'Sr. Surgeon '; worksAt = 'R N Tagore Cardiology Research Center'; profile = char(name, position, worksAt); profile = cellstr(profile); disp(profile)
Beim Ausführen der Datei wird folgendes Ergebnis angezeigt:
{ [1,1] = Zara Ali [2,1] = Sr. Surgeon [3,1] = R N Tagore Cardiology Research Center }
String-Funktionen in MATLAB
MATLAB bietet zahlreiche String-Funktionen zum Erstellen, Kombinieren, Parsen, Vergleichen und Manipulieren von Strings.
Die folgende Tabelle bietet eine kurze Beschreibung der String-Funktionen in MATLAB:
| Funktion | Zweck |
|---|---|
| Funktionen zum Speichern von Text in Zeichen-Arrays, Kombinieren von Zeichen-Arrays usw. | |
| blanks | Erstellt String aus Leerzeichen |
| cellstr | Erstellt Zell-Array von Strings aus Zeichen-Array |
| char | Konvertiert in Zeichen-Array (String) |
| iscellstr | Prüft, ob Eingabe ein Zell-Array von Strings ist |
| ischar | Prüft, ob Element ein Zeichen-Array ist |
| sprintf | Formatiert Daten in String |
| strcat | Verkettet Strings horizontal |
| strjoin | Vereinigt Strings in Zell-Array zu einzelnen String |
| Funktionen zum Identifizieren von String-Teilen, Suchen und Ersetzen von Teilstrings | |
| ischar | Prüft, ob Element ein Zeichen-Array ist |
| isletter | Array-Elemente, die alphabetische Buchstaben sind |
| isspace | Array-Elemente, die Leerzeichen sind |
| isstrprop | Prüft, ob String eine bestimmte Kategorie hat |
| sscanf | Liest formatierte Daten aus String |
| strfind | Findet einen String in einem anderen |
| strrep | Findet und ersetzt Teilstring |
| strsplit | Teilt String an angegebenem Trennzeichen |
| strtok | Ausgewählte Teile eines Strings |
| validatestring | Prüft Gültigkeit von Text-String |
| symvar | Ermittelt symbolische Variablen in Ausdruck |
| regexp | Regulärer Ausdruck abgleichen (Groß-/Kleinschreibung beachten) |
| regexpi | Regulärer Ausdruck abgleichen (Groß-/Kleinschreibung ignorieren) |
| regexprep | String mit regulärem Ausdruck ersetzen |
| regexptranslate | String in regulären Ausdruck übersetzen |
| Funktionen zum String-Vergleich | |
| strcmp | Vergleicht Strings (Groß-/Kleinschreibung beachten) |
| strcmpi | Vergleicht Strings (Groß-/Kleinschreibung ignorieren) |
| strncmp | Vergleicht erste n Zeichen von Strings (Groß-/Kleinschreibung beachten) |
| strncmpi | Vergleicht erste n Zeichen von Strings (Groß-/Kleinschreibung ignorieren) |
| Funktionen zum Ändern von Groß-/Kleinschreibung, Erstellen oder Entfernen von Leerzeichen | |
| deblank | Entfernt nachgestellte Leerzeichen am Ende des Strings |
| strtrim | Entfernt führende und nachgestellte Leerzeichen aus String |
| lower | Konvertiert String in Kleinbuchstaben |
| upper | Konvertiert String in Großbuchstaben |
| strjust | Richtet Zeichen-Array aus |
Beispiele
Die folgenden Beispiele veranschaulichen einige der oben genannten String-Funktionen:
Strings formatieren
Erstellen Sie eine Skriptdatei und geben Sie folgenden Code ein:
Live Demo A = pi*1000*ones(1,5); sprintf(' %f \n %.2f \n %+.2f \n %12.2f \n %012.2f \n', A)
Beim Ausführen der Datei wird folgendes Ergebnis angezeigt:
ans = 3141.592654 3141.59 +3141.59 3141.59 000003141.59
Strings verbinden
Erstellen Sie eine Skriptdatei und geben Sie folgenden Code ein:
Live Demo % Zell-Array von Strings str_array = {'red','blue','green', 'yellow', 'orange'}; % Verbinden der Strings im Zell-Array zu einem einzelnen String str1 = strjoin(str_array, "-") str2 = strjoin(str_array, ",")
Beim Ausführen der Datei wird folgendes Ergebnis angezeigt:
str1 = red-blue-green-yellow-orange str2 = red,blue,green,yellow,orange
Strings suchen und ersetzen
Erstellen Sie eine Skriptdatei und geben Sie folgenden Code ein:
Live Demo students = {'Zara Ali', 'Neha Bhatnagar', ... 'Monica Malik', 'Madhu Gautam', ... 'Madhu Sharma', 'Bhawna Sharma',... 'Nuha Ali', 'Reva Dutta', ... 'Sunaina Ali', 'Sofia Kabir'}; % Die strrep-Funktion sucht und ersetzt Teilstrings. new_student = strrep(students(8), 'Reva', 'Poulomi') % Ersten Namen anzeigen first_names = strtok(students)
Beim Ausführen der Datei wird folgendes Ergebnis angezeigt:
new_student = { [1,1] = Poulomi Dutta } first_names = { [1,1] = Zara [1,2] = Neha [1,3] = Monica [1,4] = Madhu [1,5] = Madhu [1,6] = Bhawna [1,7] = Nuha [1,8] = Reva [1,9] = Sunaina [1,10] = Sofia }
Strings vergleichen
Erstellen Sie eine Skriptdatei und geben Sie folgenden Code ein:
Live Demo str1 = 'This is test' str2 = 'This is text' if (strcmp(str1, str2)) sprintf('%s and %s are equal', str1, str2) else sprintf('%s and %s are not equal', str1, str2) end
Beim Ausführen der Datei wird folgendes Ergebnis angezeigt:
str1 = This is test str2 = This is text ans = This is test and This is text are not equal
MATLAB
- Java Strings meistern: Erstellung, Methoden und Best Practices
- MATLAB: Umfassender Überblick über die führende numerische Computing-Umgebung
- Variablen in MATLAB verstehen: Grundlagen & Beispiele
- Wichtige MATLAB-Befehle für effizientes Computing
- MATLAB Datentypen: Umfassender Leitfaden
- MATLAB Operatoren meistern: Arithmetik, Logik, Bitweise Operationen
- MATLAB Matrizen Grundlagen: Erstellen, Referenzieren, Manipulieren
- MATLAB: Mehrdimensionale und spezielle Arrays meistern
- MATLAB-Colon-Notation meistern: Vektoren erstellen & effizient iterieren
- MATLAB – Zahlen: Typen, Speicherung und Konvertierung