如何将字符串拆分为给定长度的子字符串?

编程入门 行业动态 更新时间:2024-10-12 12:29:50
本文介绍了如何将字符串拆分为给定长度的子字符串?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述

我有一个字符串,例如:

I have a string such as:

"aabbccccdd"

我想把这个字符串分解成一个长度为 2 的子字符串向量:

I want to break this string into a vector of substrings of length 2 :

"aa" "bb" "cc" "cc" "dd"

推荐答案

这是一种方法

substring("aabbccccdd", seq(1, 9, 2), seq(2, 10, 2)) #[1] "aa" "bb" "cc" "cc" "dd"

或更普遍的

text <- "aabbccccdd" substring(text, seq(1, nchar(text)-1, 2), seq(2, nchar(text), 2)) #[1] "aa" "bb" "cc" "cc" "dd"

这要快得多了

sst <- strsplit(text, "")[[1]] out <- paste0(sst[c(TRUE, FALSE)], sst[c(FALSE, TRUE)])

它首先将字符串拆分为字符.然后,将偶数元素和奇数元素粘贴在一起.

It first splits the string into characters. Then, it pastes together the even elements and the odd elements.

时间

text <- paste(rep(paste0(letters, letters), 1000), collapse="") g1 <- function(text) { substring(text, seq(1, nchar(text)-1, 2), seq(2, nchar(text), 2)) } g2 <- function(text) { sst <- strsplit(text, "")[[1]] paste0(sst[c(TRUE, FALSE)], sst[c(FALSE, TRUE)]) } identical(g1(text), g2(text)) #[1] TRUE library(rbenchmark) benchmark(g1=g1(text), g2=g2(text)) # test replications elapsed relative user.self sys.self user.child sys.child #1 g1 100 95.451 79.87531 95.438 0 0 0 #2 g2 100 1.195 1.00000 1.196 0 0 0

更多推荐

如何将字符串拆分为给定长度的子字符串?

本文发布于:2023-11-29 22:32:58,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1647817.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:字符串   如何将   为给   长度

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!