2017-03-08 4 views
2

Ich bin vertraut mit den Funktionen toupper() und , aber das ist nicht genau das, was ich will hier. Hier ist ein Beispiel für die Zeichenfolge ich habe und die Zeichenfolge ich will:In R, Großbuchstaben in Kleinbuchstaben und umgekehrt in einer Zeichenfolge

this = "This is the string THAT I have!" 
that = "tHIS IS THE STRING that i HAVE!" 

einfach genug mit einem Beispiel zu beschreiben, schwieriger zu implementieren (glaube ich).

Danke!

Antwort

3

Ich bin irgendwie neugierig, ob es einen besseren Weg, als ist:

chartr(x = this, 
     old = paste0(c(letters,LETTERS),collapse = ""), 
     new = paste0(c(LETTERS,letters),collapse = "")) 

Hilfreiche Beobachtung von @Joris in den Kommentaren, dass ?chartr Notizen, die Sie Zeichenbereiche verwenden können, die Vermeidung der paste:

chartr("a-zA-Z", "A-Za-z",this) 
+4

die tatsächlich in "? Tolower" dokumentiert ist. Ich würde tun 'chartr (" a-zA-Z "," A-Za-z ", das)' das ist im Wesentlichen das gleiche und erfordert keine Paste –

+0

das ist eine intuitive Lösung (für Sie beide), Vielen Dank! – Canovice

Verwandte Themen