R:字符串操作函数


    R语言提供了很多字符串操作函数。

 

►grep()函数

    grep( pattern,x )语句在字符串向量x里搜索给定子字符串pattern。如果x有n个元素,即包含n个字符串,则grep( pattern,x )会返回一个长度不超过n的向量。这个向量的每个元素是x的索引,表示在索引对应的元素x[i]中有与pattern匹配的子字符串。

> grep( "Pole", c( "Equator", "North Pole", "South Pole" ) )

[1] 2 3

> grep( "pole", c( "Equator", "North Pole", "South Pole" ) )

integer(0)

 

►nchar()函数

    nchar()函数返回字符串的长度。

> nchar( "South Pole" )

[1] 10

注:R语言中的字符串末尾没有空字符NULL。如果x不是字符形式,nchar()会得到不可预料的结果。

 

►paste()函数

    paste()函数把若干个字符串拼接起来,返回一个长字符串。

> paste( "North", "Pole" )

[1] "North Pole"

> paste( "North", "Pole", sep="" )

[1] "NorthPole"

> paste( "North", "Pole", sep="." )

[1] "North.Pole"

> paste( "North", "and", "South", "Pole" )

[1] "North and South Pole"

    可选参数sep可以用除了空格以外的其他字符把各个字符串组件连接起来。如果指定sep为空字符串,则字符串之间没有任何字符。

 

►sprintf()函数

    sprintf()函数按一定格式把若干个组件组合成字符串。

> i <- 4

> s <- sprintf( "the square of %d is %d", i, i^2 )

> s

[1] "the square of 4 is 16"

注:函数名称sprintf表示的是字符串打印(string print),即“打印”到字符串里,而不是打印到屏幕上。

 

►substr()函数

    substr( x,start,stop )函数返回给字符串指定位置范围start:stop上的子字符串。

> substring( "Equator", 3, 5 )

[1] "uat"

 

►strsplit()函数

    strsplit( x,split )函数根据x中的字符串split把字符串拆分成若干子字符串,返回这些子字符串组成的R列表。

> strsplit( "2014-10-21", split="-" )

[[1]]

[1] "2014" "10"   "21"  

 

►regexpr()函数

    regexpr( pattern,text )函数在字符串text中寻找pattern,返回与pattern匹配的第一个子字符串的起始字符位置。

> regexpr( "uat", "Equator" )

[1] 3

attr(,"match.length")

[1] 3

attr(,"useBytes")

[1] TRUE

注:这表明,uat的确出现在“Equator”中,起始于第3个字符。

 

►gregexpr()函数

    gregexpr( pattern,text )函数的功能与regexpr()一样,不过它会寻找与pattern匹配的全部子字符串的起始位置。

> gregexpr( "ing", "Stringing" )

[[1]]

[1] 4 7

attr(,"match.length")

[1] 3 3

attr(,"useBytes")

[1] TRUE

 

 

 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值