gpt4 book ai didi

regex - 一次在字符串中的多个位置插入一个字符

转载 作者:行者123 更新时间:2023-12-01 10:44:49 24 4
gpt4 key购买 nike

假设我有一个字符串

"ABCDEFGHI56dfsdfd"

我想做的是一次在多个位置插入一个空格字符。

例如。我想在随机选择的两个位置插入空格字符,比如 4 和 8。

所以输出应该是

"ABCD EFGH I56dfsdfd" 

最有效的方法是什么?鉴于字符串中可以包含任何类型的字符(不仅仅是字母表)。

最佳答案

这是一个基于正则表达式的解决方案:

vec <- "ABCDEFGHI56dfsdfd"

# sample two random positions
pos <- sample(nchar(vec), 2)
# [1] 6 4

# generate regex pattern
pat <- paste0("(?=.{", nchar(vec) - pos, "}$)", collapse = "|")
# [1] "(?=.{11}$)|(?=.{13}$)"

# insert spaces at (after) positions
gsub(pat, " ", vec, perl = TRUE)
# [1] "ABCD EF GHI56dfsdfd"

这种方法基于积极的前瞻,例如,(?=.{11}$)。在此示例中,在字符串结尾 ($) 之前的 11 个字符处插入了一个空格。

关于regex - 一次在字符串中的多个位置插入一个字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27608623/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com