首页 > 其他分享 >R 字符串操作大全

R 字符串操作大全

时间:2023-01-17 23:35:33浏览次数:34  
标签:1234 字符 sep substr 字符串 操作 paste 大全

  • paste函数和paste0()函数 连接字符
> paste("a", 1:3) #默认空格符连接,即sep=" "
[1] "a 1" "a 2" "a 3"
> paste("a",1:3, sep = "") #a自动与每个元素连接
[1] "a1" "a2" "a3"
> paste("a",1:4,".csv", sep = "") #批量输出文件名
[1] "a1.csv" "a2.csv" "a3.csv" "a4.csv"
> #sep连接的是元素间的扩展,collapse是一种元素间的折叠坍缩
> paste("a", 1:3, sep = "", collapse = "+") 
[1] "a1+a2+a3"
> paste(c("a","b"), 1:5, sep = "") #超出范围后继续从前向后连接
[1] "a1" "b2" "a3" "b4" "a5"
> paste0(c("a","b"), 1:5) #默认不加空格sep=""连接,这是与paste()函数的唯一不同
[1] "a1" "b2" "a3" "b4" "a5"    
#下列命令可将barcode列的字符后都加上“-1”   
predict_result$barcode <- paste(predict_result$barcode,"-1", sep = "")                                                                                                    
  • substr/substring 提取或替换字符串向量中的字符

substr(x, start, stop)
substring(text, first, last = 1000000L)
substr(x, start, stop) <- value
substring(text, first, last = 1000000L) <- value
注:x/text:字符向量;start/first:整数,要替换的第一个元素;stop/last:要替换的最后一个元素;value:字符向量

> substr(rep("abcdef", 4), 1:4, 4:5)
[1] "abcd" "bcde" "cd"   "de"  
> x <- c("asfef", "qwerty", "yuiop[", "b", "stuff.blah.yech")
> substr(x, 2, 5)
[1] "sfef" "wert" "uiop" ""     "tuff"
> substring(x, 2, 4:6)
[1] "sfe"   "wert"  "uiop[" ""      "tuff" 
> substr(x, 1, 3) <- c("aaa", "bcd", "s","ee")#替换
> x
[1] "aaaef"           "bcdrty"          "suiop["          "e"              
[5] "aaaff.blah.yech"
  • nchar(x) 计算字符串长度
> x <- c("asfef", "qwerty", "yuiop[", "b", "stuff.blah.yech")
> nchar(x) #计算字符串长度
[1]  5  6  6  1 15
  • chartr()转化字符串向量中的字符串
> a <- c("aBcdEf","1234","AbwSxT")
> chartr("abS","WHY",a) #注意在转换的过程中区分大小写
[1] "WBcdEf" "1234"   "AHwYxT"
  • tolower(x)和toupper(x) 字符串大小写转换函数
> a <- c("aBcdEf","1234","AbwSxT")
> tolower(a) #将大写字母转换成小写
[1] "abcdef" "1234"   "abwsxt"
> toupper(a) #将小写字母转换成大写
[1] "ABCDEF" "1234"   "ABWSXT"
> casefold(a, upper = FALSE)
[1] "abcdef" "1234"   "abwsxt"
> casefold(a, upper = TRUE)
[1] "ABCDEF" "1234"   "ABWSXT"
  • stringr包

按照特定的字符拆分字符串:str_split
str_split(string, pattern, n = Inf, simplify = FALSE)
str_split_fixed(string, pattern, n)
str_locate() 返回首个匹配模式的字符的位置
str_locate_all() 返回所有匹配模式的字符的位置

> library(stringr)
> hw <- "IGHV3-30*18, IGHV3-30-5*01"
> a <- str_split(hw, ",")#默认输出结果是一个列表
> class(a)
[1] "list"
> b <- str_split(hw, ",", simplify = TRUE) #当参数simplify=T时,输出结果是矩阵
> b
     [,1]          [,2]            
[1,] "IGHV3-30*18" " IGHV3-30-5*01"
> ##提取字符串中的特定字符
> c <- str_sub(b[,1],1, str_locate(b[,1], "\\*")[1]-1)
> c
[1] "IGHV3-30"

> #"."表示除了换行符以外的任一字符。将1.2以“.”分割开需要用到[.]
> d <- c("bcfe","12.333")
> str_split(d, "[.]", simplify = TRUE)
     [,1]   [,2] 
[1,] "bcfe" ""   
[2,] "12"   "333"

 

标签:1234,字符,sep,substr,字符串,操作,paste,大全
From: https://www.cnblogs.com/chaimy/p/17058349.html

相关文章

  • Django接入Swagger,生成Swagger接口文档-操作解析
        Swagger是一个规范和完整的框架,用于生成、描述、调用和可视化RESTful风格的Web服务。总体目标是使客户端和文件系统源代码作为服务器以同样的速度来更新。当......
  • python操作mysql的库--Pymysql
    安装pipinstallpymysql安装json,用于加载json配置文件参数pipinstallsimplejson创建实验用表MariaDB[test]>createtablestudent(idintnotnullauto_......
  • LINUX-QT串口操作
    接收显示控件   添加串口模块  添加头文件  在头文件中声明一个函数  使用声明的函数  在mainwindow中进行调用InitUI  voidMainW......
  • 字符串左旋
    第一种 暴力穷举法#include<stdio.h>#include<string.h>voidleft_move(char*arr,intk){inti=0;intlen=strlen(arr);for(i=0;i<k;i++){intj=0;char......
  • 操作系统——进程同步互斥分析
    如何实现进程同步假设有两个代码块S1,S2顺序进行(先S1后S2),在在S1和S2之间设个信号量S,则先V后P分析:信号量初始设置为0,先V让它变为1才能在P那里不阻塞进行,如果先P让信号量......
  • 新加坡国立大学图书馆检索文献的一些操作步骤
    新加坡国立大学图书馆,检索页面:网址:https://nus.edu.sg/nuslibraries  ......
  • [oeasy]python0052_ raw格式字符串_单引号_双引号_反引号_ 退格键
    转义字符回忆上次内容最近玩的是\n、\r之外的转义序列\a是␇(bell)\t是水平制表符\v是换行不回车通过16进制数值转义\xhh把(hh)16进制对应的asci......
  • 前端微服务--qiankun--傻瓜式操作教学
    前言qiankun框架实现效果类似于我们之前所使用的iframe,之所以现在放弃使用iframe是因为有url不同步,刷新页面iframeurl状态丢失,后退前进按钮无法使用等等的问题,因此我......
  • C标准库 | 字符串转整数/浮点数函数汇总
    在日常LinuxC语言开发中,不可避免会用到字符串转整数或者浮点数的操作,例如带参数的​​main​​​函数中,在​​shell​​下对着某个命令输入一组数字参数,这组数字实际上是字......
  • excel的快捷键操作
    本章介绍excel中部分常用的快捷键1.文件类工作簿操作:Ctrl + N 新建;Ctrl + w 关闭当前;Ctrl + S 保存 F12 当前另存为  Ctrl + p 打印当前 2.通用......