nchar

取字符数量的函数

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

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

chartr

字符替换

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

paste和paste0

字符串粘合函数

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

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

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

substr

字符串截取函数

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

strsplit

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

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

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

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

gsub和sub

字符串替换

gsub替换匹配到的所有

sub 替换匹配到的第一个

  1. # 将b替换为B
  2. gsub(pattern = "b", replacement = "B", x = "baby")
  3. [1] "BaBy"
  4. gsub(pattern = "b", replacement = "B", x = c("abcb", "boy", "baby"))
  5. [1] "aBcB" "Boy" "BaBy"
  6. # 仅仅替换第一个b
  7. sub(pattern = "b", replacement = "B", x = "baby")
  8. [1] "Baby"
  9. sub(pattern = "b", replacement = "B", x = c("abcb", "baby"))
  10. [1] "aBcb" "Baby"

grep和grepl

字符串匹配

grep函数返回的是索引值

grepl函数返回的是逻辑值

  1. # 返回匹配到的元素的索引
  2. grep(pattern = "boy", x = c("abcb", "boy", "baby"))
  3. [1] 2
  4. # 返回逻辑值
  5. grepl(pattern = "boy", x = c("abcb", "boy", "baby"))
  6. [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. 虚拟机在NAT模式下主机与宿主机的ip配置

    现有如下环境: 宿主机:win7 (IP为100.101.201.20) 虚拟机: SUSE LinuxEterprise 11 64bit (IP为100.101.201.23) 连接模式如下图: ...

  2. 如何查看2to3.PY的帮助文档

    # -*- coding: utf-8 -*- #python 27 #xiaodeng #如何查看2to3.PY的帮助文档 #http://tieba.baidu.com/p/3939904893 ...

  3. 上海期货交易所CTP行情和交易接入

    发布时间:2018-09-25   技术:C++11,动态库的制作   概述 CTP的接入Demo 详细 代码下载:http://www.demodashi.com/demo/14125.html 本 ...

  4. IBatis.Net 视频教程 原创教程

    IBatis.Net 视频教程 列文件:共21个 Ibatis.Net 第01课 了解 和下载.avi Ibatis.Net 第02课 搭建简单三层项目 引入Ibatis.avi ibatis.net ...

  5. Swift3 CADisplayLink简单用法

    1.定义属性 var displayLinkTimer:CADisplayLink? = nil 2.init displayLinkTimer = CADisplayLink(target: sel ...

  6. oracle安装后sqlnet.ora文件

    # sqlnet.ora Network Configuration File: D:\Develop\oracle11g\product\11.2.0\dbhome_1\network\admin\ ...

  7. ML之监督学习算法之分类算法一 ——— 决策树算法

    一.概述 决策树(decision tree)的一个重要任务是为了数据中所蕴含的知识信息,因此决策树可以使用不熟悉的数据集合,并从中提取出一系列规则,在这些机器根据数据创建规则时,就是机器学习的过程. ...

  8. SmartUpload类实现上传和下载

    实现文件的上传与下载,可以使用Java的I/O流的类来实现,也可以使用专业的上传.下载组件.这些组件提供了现成的类,程序员只需调用这些类中的方法即可实现文件的上传与下载.本章将向读者介绍如何应用jsp ...

  9. Fix SCRIPT5009: “RegisterSod” undefined error

    When I set up development environment for apps for SharePoint 2013 and quickly get apps from SharePo ...

  10. 【转载】Ajax JS 跨域请求

    原文: 简单的ajax请求:http://blog.csdn.net/net_lover/article/details/5172509 复杂的ajax请求:http://blog.csdn.net/ ...