R:剪切向量中的字符串

时间:2013-09-05 08:51:41

标签: r text vector

x成为向量

[1] "hi"            "hello"         "Nyarlathotep"

是否可以从y s.t生成一个向量,我们说x。它的组件是

[1] "hi"            "hello"         "Nyarl"

换句话说,我需要一个R中的命令,它将文本字符串剪切到给定的长度(在上面,长度= 5)。

非常感谢!

3 个答案:

答案 0 :(得分:10)

substring strtrim更明显的是> x <- c("hi", "hello", "Nyarlathotep") > x [1] "hi" "hello" "Nyarlathotep" > strtrim(x, 5) [1] "hi" "hello" "Nyarl"

substring

strtrim非常适合从给定位置的字符串中提取数据,但widths完全符合您的要求。

第二个参数是> strtrim(x, c(1, 2, 3)) [1] "h" "he" "Nya" ,它可以是宽度与输入向量长度相同的向量,在这种情况下,每个元素都可以按指定的数量进行修剪。

{{1}}

答案 1 :(得分:6)

使用substring查看?substring

中的详细信息
> x <- c("hi", "hello", "Nyarlathotep")
> substring(x, first=1, last=5)
[1] "hi"    "hello" "Nyarl"

上次更新 您还可以将sub与正则表达式

一起使用
> sub("(.{5}).*", "\\1", x)
[1] "hi"    "hello" "Nyarl"

答案 2 :(得分:1)

(可能)更快的替代方法是sprintf()

sprintf("%.*s", 5, x)
[1] "hi"    "hello" "Nyarl"