R / regex mit stringi / ICU: Warum wird ein '+' als Nicht-Zeichen [: punct:] betrachtet?

Ich versuche, Nicht-Alphabet-Zeichen aus einem Zeichenfolgenvektor zu entfernen. Ich dachte das[:punct:] Gruppierung würde es abdecken, aber es scheint das @ zu ignorier+. Gehört das zu einer anderen Gruppe von Charakteren?

library(stringi)
string1 <- c(
"this is a test"
,"this, is also a test"
,"this is the final. test"
,"this is the final + test!"
)

string1 <- stri_replace_all_regex(string1, '[:punct:]', ' ')
string1 <- stri_replace_all_regex(string1, '\\+', ' ')

Antworten auf die Frage(2)

Ihre Antwort auf die Frage