Zum Beispiel das jedes Wort der Länge entspricht 3 oder mehr, und ersetzt sie durch xx
:Wie schneidet man alle Wörter in einer Zeichenfolge oberhalb der gegebenen Länge ab?
library(stringr)
str_replace_all(c("This is a long", "Another one."), "([a-zA-Z]{3,})", "xx")
#output: "xx is a xx" "xx xx"
Was ist Ich mag würde bekommen:
#"Thi is a lon" "Ano one."
Eine nicht regex Lösung könnte auch sein, 'sapply (strsplit (c ("Dies ist ein langer", "eine andere."), '‚) Verwenden, Funktion (x) einfügen (strtrim (x, 3), collapse = "")) ', aber du wirst die Interpunktionen verlieren. –
Oder ein Lookaround-Ansatz wäre 'gsub (" (? <= [A-Za-z] {3}) [A-Za-z] + ", c (" Das ist ein langer "," Ein anderer ").), perl = TRUE) ' – akrun