R-Strings im Überblick

Strings sind eine grundlegende Datenstruktur in R, die zum Darstellen von Zeichenketten und einzelner Buchstaben genutzt wird. Anders als in anderen Programmiersprachen gibt es in R keinen Datentyp namens String: Strings gehören dem R-Datentyp character an.

Was sind R-Strings?

Ob Sie gerade erst das Programmieren lernen oder schon lange mit diversen Programmiersprachen zu tun haben: An Strings kommen selbst erfahrene Programmiererinnen und Programmierer nicht vorbei.

Bei Strings handelt es sich um eine Datenstruktur innerhalb der Programmiersprache R. Im Grunde genommen sind Strings nichts anderes als Zeichenketten, die in den allermeisten Sprachen – so auch in der R-Programmierung – mit einfachen oder doppelten Anführungszeichen gekennzeichnet werden. Sie werden im Normalfall genutzt, um nichtnumerische Informationen in Programmen zu speichern und zu verarbeiten.

Wie erstellt man einen R-String?

Ein String kann in R ganz einfach in nur einer Zeile Code erstellt werden. Sie können sich hierbei aussuchen, ob Sie bei der Initialisierung Ihres R-Strings auf einfache oder doppelte Anführungszeichen zurückgreifen:

# String mit doppelten Anführungszeichen
string1 <- "Hallo Welt!"
# String mit einfachen Anführungszeichen
string2 <- 'Hello world!'
R

R-Strings bearbeiten: R-String-Functions in der Übersicht

Um mit Strings effizient zu arbeiten, stellt R Programmierenden eine Reihe von Basisfunktionen bereit. Diese können genutzt werden, um verschiedene Operationen mit und auf den Zeichenketten durchzuführen. Die wichtigsten R-String-Operations haben wir für Sie zusammengestellt:

  • substr(): Extrahiert eine Teilzeichenkette aus einem R-String
  • paste(): Konkateniert Strings
  • tolower() / toupper(): Konvertiert alle Zeichen eines Strings in Klein- oder Großbuchstaben
  • strsplit(): Teilt einen R-String anhand eines vorgegebenen Trennzeichens
  • trimws(): Entfernt Leerzeichen am Anfang und Ende eines Strings
  • gsub(): Ersetzt Muster in einem String durch eine übergebene Zeichenkette
  • nchar(): Ermittelt die Länge eines R-Strings

Wenn Sie bereits mit anderen Programmiersprachen vertraut sind, dürfte Ihnen der Großteil der Funktionen bekannt vorkommen. So finden sich viele Pendants beispielsweise für den Umgang mit Python-Strings.

substr()

Mit der Funktion substr() können Sie Teilzeichenketten aus Ihren R-Strings extrahieren. Hierfür übergeben Sie der Funktion als ersten Parameter Ihren String und als zweiten und dritten Parameter den Start- und Endindex Ihres gewünschten Teilstrings. Beachten Sie, dass die Indizierung von R-Strings anders als in vielen anderen Sprachen bei 1 beginnt.

string <- "Hallo Welt"
print(substr(string, start=7, stop=10))
R

Das obige Codebeispiel gibt "Welt" auf dem Bildschirm aus.

paste()

Die Funktion paste() wird in R dazu verwendet, zwei oder mehr Zeichenketten zu konkatenieren. Beachten Sie, dass + kein R-Operator für die Konkatenation von Strings ist, da die Addition nur auf numerischen Datentypen definiert ist.

string <- "Hallo"
string2 <- "Welt"
print(paste(string+ string2))
R

Durch den Aufruf von paste() werden beide R-Strings konkateniert, und folgende Ausgabe erscheint: "Hallo Welt".

tolower() / toupper()

Mithilfe der beiden R-String-Functions tolower() und toupper() können Sie alle Zeichen Ihrer Zeichenkette in Lower- bzw. Uppercase umwandeln. Beide Funktionen erwarten als Übergabeparameter den String, mit dem sie arbeiten sollen, und liefern Ihnen einen neuen String zurück.

string <- "Hallo Welt"
print(tolower(string))
print(toupper(string))
R

Das obige Programm gibt wie erwartet "hallo welt" und "HALLO WELT" auf dem Bildschirm aus. Die Anwendung von Funktionen wie tolower() oder toupper() ist vor allem dann praktisch, wenn Eingaben case-sensitive verarbeitet werden sollen.

strsplit()

Auch die strsplit()-Funktion in R ist erfahrenen Programmiererinnen und Programmierern sicher schon einmal in einer anderen Sprache begegnet. So kennt auch Python eine Funktion namens split(). strsplit() erwartet als Übergabeparameter den String, den Sie anhand eines Trennzeichens in Substrings aufteilen möchten, sowie das Trennzeichen, das zur Trennung verwendet werden soll. Der Funktionsaufruf liefert Ihnen selbst dann, wenn es nur einen Teilstring gibt, eine Liste der nun entstandenen Substrings zurück.

string <- "Hallo Welt"
print(strsplit(string, " "))
R

Die Ausgabe des obigen Codes sieht wie folgt aus:

[[1]]
[1] "Hallo" "Welt"

Sie erhalten also eine Liste mit zwei Strings, da das Leerzeichen im ursprünglichen String als Trennzeichen genutzt wurde.

trimws()

Mit der Funktion trimws() können Sie Leerzeichen vor und hinter Ihrem R-String entfernen, was vor allem bei der Bearbeitung von Eingaben durch Nutzerinnen und Nutzer hilfreich sein kann, um unerwünschte und aus Versehen eingegebene Leerzeichen zu entfernen.

string <- "   Hallo Welt   "
print(trimws(string))
R

Der Codeabschnitt liefert den String "Hallo Welt" ohne Leerzeichen zu Beginn und Ende der Zeichenkette zurück.

gsub()

Eine weitere String-Operation in R lässt sich mit der Funktion gsub() umsetzen, die als ersten Übergabeparameter zunächst den zu ersetzenden Substring erwartet. Als zweiter Parameter wird die Zeichenkette angegeben, mit der die Vorkommnisse des Substrings ersetzt werden sollen. Der dritte Übergabeparameter ist der String, auf den sich die Ersetzung bezieht.

string <- "Hallo Welt"
print(gsub("Welt", "User", string))
R

Nun wird durch die Ausgabe des im Code definierten Strings nicht mehr die gesamte Welt, sondern nur ein User begrüßt, denn die Ausgabe des Programms lautet "Hallo User".

nchar()

Eine der wichtigsten Standardfunktionalitäten auf Strings stellt die Funktion nchar() bereit, die Ihnen die R-String-Length zurückgibt.

string <- "Hallo Welt"
print(nchar(string))
R

Lassen Sie sich nicht von dem intuitiv vielleicht sinnvoller erscheinenden R-Command length() verwirren: length() wird in R dazu genutzt, die Anzahl von Elementen in einem Objekt zu bestimmen, und liefert Ihnen somit nicht die R-String-Length zurück!

Tipp

Bei der Bereitstellung Ihrer Programmierprojekte können Sie sich eines Webspace bei IONOS bedienen und von einer 30-Tage-Geld-zurück-Garantie profitieren.

Steuerzeichen und Escape-Sequenzen

Wenn Sie den Textfluss innerhalb Ihrer R-Strings zum Beispiel durch Zeilenumbrüche oder Tabulatoren beeinflussen möchten, müssen Sie von den sogenannten Steuerzeichen Gebrauch machen. Hierbei handelt es sich um eine vordefinierte Form von Escape-Sequenzen, die für die Gestaltung von Textausgaben häufig genutzt werden.

Auch besondere Zeichen wie die Anführungszeichen, die in der R-Syntax normalerweise als Anfang bzw. Ende eines Strings interpretiert würden, lassen sich mithilfe von Escape-Sequenzen innerhalb von Zeichenketten ausgeben. Escape-Sequenzen sind durch einen führenden Backslash gekennzeichnet. Hier finden Sie die wichtigen Steuerzeichen und Escape-Sequenzen in R:

  • \n: Newline/Zeilenumbruch
  • \t: Tabulator
  • \: Backslash
  • ": doppeltes Anführungszeichen
  • ': einfaches Anführungszeichen