【发布时间】:2016-01-22 16:34:50
【问题描述】:
我有一个带有样本位置的向量,这是一个样本:
test <- c("Aa, Heeswijk T1", "Aa, Heeswijk t1",
"Aa, Middelrode t2", "Aa, Middelrode p1",
"Aa, Heeswijk t1a", "Aa, Heeswijk t3b",
"Aa, test1 T1", "Aa, test2 t1")
这些字符串由位置名称(“Aa,Heeswijk”)、路线代码(“T1”、“p2”、“t3”)和有时的子路线(“a”或“b”)组成。不幸的是,路线代码(t1,t2,p1,t1a)有时是大写,有时是小写。 我希望所有路线代码都大写,名称和子路线保持不变。我的预期结果是:
"Aa, Heeswijk T1", "Aa, Heeswijk T1",
"Aa, Middelrode T2", "Meander Assendelft P1",
"Aa, Heeswijk T1a", "Aa, Heeswijk T3b"
"Aa, test1 T1", "Aa, test2 T1"
我查看了toupper(),但更改为整个字符串。我也可以使用 gsub:
gsub("t1","T1", test)
gsub("t2","T2", test)
#etc.
但一定有更好的 R-ish 方式吗?!
注意:路线代码总是 2 个字符长,有一个字符和一个整数,前面有一个空格。所以要更改为上的字符总是位于倒数第二个或第三个。
【问题讨论】:
标签: r string uppercase lowercase