nchar

取字符数量的函数

length与nchar不同,length是取向量的长度

# nchar表示字符串中的字符的个数
nchar("abcd")
[1] 4 # length表示向量中元素的个数
length("abcd")
[1] 1
length(c("hello", "world"))
[1] 2

chartr

字符替换

chartr(old="a", new="c", x="a123")
[1] "c123" chartr(old="a", new="A", x="data")
[1] "dAtA"

paste和paste0

字符串粘合函数

paste在不指定切割符的情况下,默认切割符是空格

paste0在不指定切割符的情况下,默认切割符是空

# 默认以空格隔开
paste("Hello","world")
[1] "Hello world" # 没有空格
paste0("Hello","world")
[1] "Helloworld" # 指定切割符
paste("abc", "efg", "hijk", sep = "-")
[1] "abc-efg-hijk" # 分别对向量的每个元素进行连接
paste0("A", 1:6, sep = "")
[1] "A1" "A2" "A3" "A4" "A5" "A6" # collapse參数:每个元素操作之后,再把向量的每个元素进行连接
paste0("A", 1:6, sep = "",collapse = "-")
[1] "A1-A2-A3-A4-A5-A6"

substr

字符串截取函数

substr(x = "hello", start = 1, stop = 2)
[1] "he"

strsplit

字符串的切割函数,能够指定切割符。生成一个list

strsplit("abc", split = "")
[[1]]
[1] "a" "b" "c"

假设要对一个向量使用该函数。须要注意。

# 切割向量的每个元素,并取切割后的第一个元素
unlist(lapply(X = c("abc", "bcd", "dfafadf"), FUN = function(x) {return(strsplit(x, split = "")[[1]][1])}))
[1] "a" "b" "d"

gsub和sub

字符串替换

gsub替换匹配到的所有

sub 替换匹配到的第一个

# 将b替换为B
gsub(pattern = "b", replacement = "B", x = "baby")
[1] "BaBy" gsub(pattern = "b", replacement = "B", x = c("abcb", "boy", "baby"))
[1] "aBcB" "Boy" "BaBy" # 仅仅替换第一个b
sub(pattern = "b", replacement = "B", x = "baby")
[1] "Baby" sub(pattern = "b", replacement = "B", x = c("abcb", "baby"))
[1] "aBcb" "Baby"

grep和grepl

字符串匹配

grep函数返回的是索引值

grepl函数返回的是逻辑值

# 返回匹配到的元素的索引
grep(pattern = "boy", x = c("abcb", "boy", "baby"))
[1] 2 # 返回逻辑值
grepl(pattern = "boy", x = c("abcb", "boy", "baby"))
[1] FALSE TRUE FALSE

match && pmatch &&charmatch

1、match

Usage

match(x, table, nomatch = NA_integer_, incomparables = NULL)

x %in% table

參数:

x: vector or NULL: the values to be matched. Long vectors are supported.

table : vector or NULL: the values to be matched against. Long vectors are not supported. (被匹配的值)

nomatch: the value to be returned in the case when no match is found. Note that it is coerced to integer. (没有match上的返回的值)

incomparables : a vector of values that cannot be matched. Any value in x matching a value in this vector is assigned the nomatch value. For historical reasons, FALSE is equivalent to NULL. (不同来匹配的值)

match函数相似与 %in%,不同的是match返回的是索引,而%in%返回的是逻辑值。

R语言之——字符串处理函数的更多相关文章

  1. R语言拆分字符串

    R语言拆分字符串 aaa<-"aa;bb;cc"ccc<-strsplit(aaa,split=";") bbb<- unlist(strsp ...

  2. C语言之字符串处理函数

    C语言中字符串处理函数介绍 下面介绍8种基本的常用的字符串处理函数,在数值数组中也常常用到(部分函数).所有的C语言编译系统中一般都提供这些函数. 1.puts函数——输出字符串的函数 一般的形式为p ...

  3. python 和 R 语言 中的 range() 函数

    1.python 中的 range() 函数生成整数序列,常用于 for 循环的迭代. 示例: 2.R 语言中的 range() 函数返回一个数值向量中的最小值和最大中,常用于求极差. 示例: 按语: ...

  4. R语言中的循环函数(Grouping Function)

    R语言中有几个常用的函数,可以按组对数据进行处理,apply, lapply, sapply, tapply, mapply,等.这几个函数功能有些类似,下面介绍下这几个函数的用法. Apply 这是 ...

  5. R语言的字符串处理

    R语言字符串的拼接 content<-paste("124235","789","124",sep="@") 运行 ...

  6. R语言学习4:函数,流程控制,数据框重塑

    本系列是一个新的系列,在此系列中,我将和大家共同学习R语言.由于我对R语言的了解也甚少,所以本系列更多以一个学习者的视角来完成. 参考教材:<R语言实战>第二版(Robert I.Kaba ...

  7. R语言scale与unscale函数

    一.scale函数 R语言base库中自带数据标准化接口scale函数,函数介绍如下 Usage scale(x, center = TRUE, scale = TRUE) Arguments x: ...

  8. R语言中字符串的拼接操作

    在R语言中 paste 是一个很有用的字符串处理函数,可以连接不同类型的变量及常量. 函数paste的一般使用格式为: paste(..., sep = " ", collapse ...

  9. R语言kohonen包主要函数介绍

    最近准备写一篇关于自组织映射 (Self-organizing map)的文章.SOM的代码很多,研究了一圈之后目前使用最顺手的是R语言的kohonen包. 这个kohonen包功能很丰富,但是接口不 ...

随机推荐

  1. Linux 安全密钥验证

    [root@rhel7 ~]# ssh-keygen --在客户端主机中生成“密钥对” Generating public/private rsa key pair. Enter file in wh ...

  2. 转:extern "C"的用法解析

    1.引言 C++语言的创建初衷是“a better C”,但是这并不意味着C++中类似C语言的全局变量和函数所采用的编译和连接方式与C语言完全相同.作为一种欲与C兼容的语言, C++保留了一部分过程式 ...

  3. UITextField的UIControlEventValueChanged事件

    关于UITextField的UIControlEventValueChanged事件无响应的问题 监听UITextField文本改变的事件不是使用这个枚举 而是使用 UIControlEventEdi ...

  4. Javascript 思维导图 绘制基础内容(值得一看)

    来源于:http://www.cnblogs.com/coco1s/p/3953653.html javascript变量 javascript运算符 javascript数组 javascript流 ...

  5. ios中Pldatabase的用法

    将PLDATABASE加入到工程 下载PLDatabase 的dmg文件 将PLDatabase的framework复制到工程根目录在工程中加入该framework使用该framework进行数据库操 ...

  6. 表的复制——sql语句

    SQL Server 复制表结构及数据到新表 select * into 目标表名 from 源表名(要求目标表不存在,因为在插入时会自动创建) 只复制表结构到新表 CREATE TABLE 新表 S ...

  7. 常用Raspberry Pi周边传感器的使用教程(转)

    转:http://bbs.xiaomi.cn/thread-7797152-1-1.html 在Raspberry Pi 的使用和开发过程中,你可能时常需要一些硬件和传感器等来支持你的开发工作,例如, ...

  8. 关于JAVA路径 问题

    1.基本概念的理解  绝对路径:绝对路径就是你的主页上的文件或目录在硬盘上真正的路径,(URL和物理路径)例如: C:\xyz\test.txt 代表了test.txt文件的绝对路径.http://w ...

  9. 利用Apache配置http expires值提高网站性能

    HTTP头中有个expires参数,设置一个未来的时间,在这时间以前,浏览器会先从cache读取,如果没有再从服务器中读取.对于像图片,css,script等静态内容,只需发一次http reques ...

  10. 安装samba脚本

    Ubuntu_samba.sh #!/bin/sh echo "Ubuntu 14.04 文件服务器--samba的安装和配置" echo "更新源列表" su ...