String-Manipulationsfunktionen
Teil des Abschnitts Grundlagen der R-Journey von Coddy — Lektion 66 von 78.
Nachdem Sie nun wissen, wie man Zeichenketten in einzelne Zeichen aufteilt, lassen Sie uns einige wesentliche Funktionen für die Arbeit mit Zeichenketten in R untersuchen. Diese Funktionen helfen Ihnen dabei, Textdaten zu messen, zu kombinieren und zu transformieren.
Die nchar() Funktion gibt die Anzahl der Zeichen in einer Zeichenfolge zurück:
word <- "hello"
print(nchar(word))Ausgabe:
[1] 5Um mehrere Zeichenfolgen zu einer zu kombinieren, verwenden Sie paste(). Standardmäßig trennt sie Elemente durch ein Leerzeichen:
result <- paste("Hello", "World")
print(result)Ausgabe:
[1] "Hello World"Verwenden Sie paste0(), wenn Sie kein Trennzeichen zwischen Zeichenfolgen wünschen:
result <- paste0("Hello", "World")
print(result)Ausgabe:
[1] "HelloWorld"Für die Umwandlung von Groß- und Kleinschreibung bietet R toupper() und tolower():
print(toupper("hello"))
print(tolower("WORLD"))Ausgabe:
[1] "HELLO"
[1] "world"Diese Funktionen werden besonders mächtig, wenn sie mit den Iterationstechniken kombiniert werden, die Sie gelernt haben, und ermöglichen es Ihnen, Text Zeichen für Zeichen oder als ganze Zeichenfolgen zu verarbeiten und zu transformieren.
Aufgabe
EinfachSie erhalten zwei Eingabezeilen:
- Einen Vornamen (z. B.
john) - Einen Nachnamen (z. B.
SMITH)
Führen Sie die folgenden Operationen aus:
- Konvertieren Sie den Vornamen mit
toupper()in Großbuchstaben - Konvertieren Sie den Nachnamen mit
tolower()in Kleinbuchstaben - Kombinieren Sie diese mit
paste()zu einem vollständigen Namen (mit einem Leerzeichen dazwischen) - Berechnen Sie die Gesamtzahl der Zeichen im vollständigen Namen (einschließlich des Leerzeichens) mit
nchar() - Erstellen Sie einen Benutzernamen, indem Sie den Vornamen und den Nachnamen ohne Trennzeichen mit
paste0()kombinieren, alles in Kleinbuchstaben - Geben Sie den vollständigen Namen aus
- Geben Sie die Zeichenanzahl aus
- Geben Sie den Benutzernamen aus
Wenn die Eingaben zum Beispiel wie folgt lauten:
alice
WONDERSollte die Ausgabe wie folgt aussehen:
[1] "ALICE wonder"
[1] 12
[1] "alicewonder"Erklärung: Der Vorname "alice" wird zu "ALICE" (Großbuchstaben), der Nachname "WONDER" wird zu "wonder" (Kleinbuchstaben). Der vollständige Name "ALICE wonder" hat 12 Zeichen (einschließlich des Leerzeichens). Der Benutzername kombiniert beide Namen in Kleinbuchstaben ohne Trennzeichen: "alicewonder".
Spickzettel
Die Funktion nchar() gibt die Anzahl der Zeichen in einer Zeichenkette zurück:
word <- "hello"
print(nchar(word)) # Ausgabe: [1] 5Die Funktion paste() kombiniert standardmäßig mehrere Zeichenketten mit einem Leerzeichen als Trennzeichen:
result <- paste("Hello", "World")
print(result) # Ausgabe: [1] "Hello World"Die Funktion paste0() kombiniert Zeichenketten ohne Trennzeichen:
result <- paste0("Hello", "World")
print(result) # Ausgabe: [1] "HelloWorld"Die Funktion toupper() wandelt Zeichenketten in Großbuchstaben um, und tolower() wandelt sie in Kleinbuchstaben um:
print(toupper("hello")) # Ausgabe: [1] "HELLO"
print(tolower("WORLD")) # Ausgabe: [1] "world"Probier es selbst
# Eingabe lesen
con <- file("stdin", "r")
first_name <- suppressWarnings(readLines(con, n = 1))
last_name <- suppressWarnings(readLines(con, n = 1))
close(con)
# TODO: Schreiben Sie Ihren Code unten
# 1. Konvertieren Sie first_name in Großbuchstaben mit toupper()
# 2. Konvertieren Sie last_name in Kleinbuchstaben mit tolower()
# 3. Kombinieren Sie diese zu full_name mit paste()
# 4. Berechnen Sie die Anzahl der Zeichen mit nchar()
# 5. Erstellen Sie den Benutzernamen mit paste0() (alles kleingeschrieben)
# Ergebnisse ausgeben
print(full_name)
print(char_count)
print(username)Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Grundlagen
4Operatoren Teil 2
Logische Operatoren (AND, OR)Logische Operatoren Teil 2 (NOT)Wiederholung – Einfache LogikVektorisierte Logik Teil 1Vektorisierte Logik Teil 27Rechnungs-Split-Rechner
WillkommensnachrichtBenutzereingaben abfragen10FizzBuzz mit einer Besonderheit
SpielübersichtDie FizzBuzz-Funktion13Vektoren für Fortgeschrittene
Vektor-Slicing und IndizierungLogische IndizierungVektorarithmetik & RecyclingDer %in%-Operator2Variablen und Datentypen
Numerischer DatentypGanzzahl-DatentypZeichen-DatentypLogischer DatentypDatentypen prüfenBenennungskonventionenFehlende Werte: NAZusammenfassung – Variablenerstellung5Entscheidungsfindung
If-AnweisungIf - ElseWiederholung - Einfacher TaschenrechnerVerschachteltes If - Else8Schleifen
For-SchleifeWhile-SchleifeBreakNext (Continue)Rückblick - FakultätSequenzgenerierung (seq, :)Verschachtelte SchleifenRückblick - Dynamische Eingabe3Operatoren Teil 1
Arithmetische OperatorenGanzzahlige Division und ModuloZuweisungsoperatorenWiederholung - Einfache MathematikVergleichsoperatoren6Grundlagen der Ein- und Ausgabe
Print-AusgabeCat zur AusgabeAusgabe mit VariablenEingabe lesen mit readline()Grundlagen der TypumwandlungWiederholung – AltersrechnerWiederholung – Wahr oder Falsch9Funktionen
Funktionen deklarierenFunktionsargumenteRückgabewerteWiederholung - Sigma-FunktionWiederholung - ValidierungsfunktionStandard-Parameterwerte12Iterieren über Sequenzen
Iterieren über VektorelementeVerwendung von seq_along()Iterieren über Zeichen (strsplit)String-Manipulationsfunktionen