将字符串中第 N 次出现的字符替换为其他字符

2024-04-24

考虑a = paste(1:10,collapse=", ")这导致

a = "1, 2, 3, 4, 5, 6, 7, 8, 9, 10"

我想替换每第 n 次(比如第 4 次)出现的“,”,并将其替换为其他内容(比如“\n”)。期望的输出是:

"1, 2, 3, 4\n 5, 6, 7, 8\n 9, 10"

我正在寻找使用的代码gsub(或类似的东西)和某种形式regular expression为了实现这个目标。


您可以更换((?:\d+, ){3}\d), with \1\n

您基本上捕获了 group1 和逗号中第四个逗号之前的所有内容,并将其替换为\1\n它将匹配的文本替换为 group1 文本和换行符,从而为您提供预期的结果。

正则表达式演示 https://regex101.com/r/zebqLb/1

R 代码演示 https://rextester.com/XCCR51033

gsub("((?:\\d+, ){3}\\d),", "\\1\n", "1, 2, 3, 4, 5, 6, 7, 8, 9, 10")

Prints,

[1] "1, 2, 3, 4\n 5, 6, 7, 8\n 9, 10"

Edit:

要将上述解决方案推广到任何文本,我们可以更改\d to [^,]

新的 R 代码演示 https://rextester.com/OQW75303

gsub("((?:[^,]+, ){3}[^,]+),", "\\1\n", "1, 2, 3, 4, 5, 6, 7, 8, 9, 10")
gsub("((?:[^,]+, ){3}[^,]+),", "\\1\n", "a, bb, ccc, dddd, 500, 600, 700, 800, 900, 1000")

Output,

[1] "1, 2, 3, 4\n 5, 6, 7, 8\n 9, 10"
[1] "a, bb, ccc, dddd\n 500, 600, 700, 800\n 900, 1000"
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将字符串中第 N 次出现的字符替换为其他字符 的相关文章

  • 将毫秒时间戳解析为 R 中的时间

    我以前曾问过这个问题 但我找不到确切的答案 如果我有一个代表自午夜以来的毫秒数的数字 例如 34200577 我如何将其转换为 R 时间 在午夜构造一个 基线时间 添加给定的毫秒一旦转换为秒并解释为时间 R gt as POSIXct as
  • Excel VBA 中的正则表达式

    我在 Excel VBA 中使用 Microsoft 正则表达式引擎 我对正则表达式很陌生 但我现在有一个正在运行的模式 我需要扩展它 但我遇到了麻烦 到目前为止 这是我的代码 Sub ImportFromDTD Dim sDTDFile
  • ggplot geom_hline 中无法识别数据列

    我想知道为什么变量mean y不被我识别geom hline yintercept unique mean y call library tidyverse set seed 20 n groups lt 2 n in group lt 2
  • 查找“”之间的字符串的正则表达式是什么

    我有一个字符串如下 http 172 1 10 1 3 http 192 168 15 2 6 http 192 168 1 100 1 2 8 内的字符串是一个标签 内的字符串是前面标签的值 返回我的正则表达式是什么 标签 http 17
  • 确定执行脚本的路径

    我有一个名为foo R其中包括另一个脚本other R 位于同一目录中 usr bin env Rscript message Hello source other R 但我想要R找到那个other R无论当前工作目录是什么 换句话说 fo
  • Python:如何删除圆括号内的文本?

    我试过了 但没用 return re sub myResultStats text 建议 thanks 尝试这个 return re sub myResultStats text 括号表示捕获组 因此您必须转义它们
  • Django url 模式 - 带正斜杠的参数

    如何为两个参数创建 url 模式 其中第一个参数包含正斜杠作为其内容的一部分 da ta1 data2 最初我有以下模式 r view P
  • 对整数进行反直觉测试:63 = (45 x 1.4) = 62

    我写了一个 可能不是特别好 函数来测试一个数字是否是整数 is wholeNumber lt function x x floor x 一般来说 这个函数对我的目的来说效果很好 因为我实际上只考虑用少数小数位测试数字的情况 所以我天真的理解
  • 不区分大小写的关键字匹配

    我正在编写一种用于解析计算机语言的语法 可以与解析 Eyapp http search cpan org casiano Parse Eyapp 1 182 lib Parse Eyapp pod 这是一个 Perl 包 可以简化常规语言解
  • ggplot 中的 Geom_area 顺序

    我的样本队列数据在绘制时未进行颜色编码或按正确的时间顺序显示ggplot 以下代码用于生成绘图 library ggplot2 blues lt colorRampPalette c lightblue darkblue p lt ggpl
  • 检测字符串中的所有大写字母

    我在尝试在 JavaScript 中编写正则表达式时遇到问题 该正则表达式可以检测以全部大写字母键入的至少 2 个字符的整个单词 这是我尝试过的并且似乎有效 b Wa z0 9 b 但是 我会检测用户是否开始字符串 我喜欢你 因为 I 是大
  • 使用 Caret 包的测试集的 ROC 曲线

    我正在尝试从测试集上的插入符号中获取最佳模型的 ROC 曲线 我碰到MLeval包似乎很方便 输出非常全面 使用几行代码提供了所有需要的指标和图表 一个很好的例子在这里 https stackoverflow com a 59134729
  • 使用动态编程理解正则表达式字符串匹配

    我遇到了这个问题 要求您实现一个支持 的正则表达式匹配器 和 其中 匹配任何单个字符 匹配零个或多个前面的元素 isMatch aa a false isMatch aa aa true isMatch aaa aa false isMat
  • 如何使用 ng-pattern 验证 angularJs 中的电子邮件 ID

    我正在尝试使用 ng pattern 指令验证 angularJs 中的电子邮件 id 字段 但我是 AngularJs 的新手 我需要在用户输入错误的电子邮件 ID 后立即显示错误消息 我下面的代码正在尝试解决 帮助我使用 ng patt
  • 如何删除 BeautifulSoup 中的空格

    我正在使用 BeautifulSoup 解析一堆 HTML 除了一个小问题外 一切进展顺利 我想将输出保存到单行字符串中 以下内容作为我当前的输出 li span class plaincharacterwrap break Zazzafo
  • Google App Engine 密钥中允许使用哪些字符?

    在测试我的 Google App Engine 应用程序时 我搜索包含应用程序引擎密钥的链接 例如 story ag5yZXBsaWUtdGVzdGluZ3IMCxIFU3RvcnkY w0M 这些键中允许使用哪些字符 我一直在使用正则表达
  • 如何将 nlsList 中的系数获取到数据帧中?

    有没有办法只从 nlsList 中提取估计值 样本数据 library nlme dat lt read table text time gluc starch solka 1 6 32 7 51 1 95 2 20 11 25 49 6
  • 如何访问/记住闪亮中未选中的值?

    我正在摆弄 R 中的闪亮应用程序 该应用程序有 选择列表Input A 主要组 具有可能的值 A B 和 或C 一组复选框Input b 子群 它们是 通过选择动态填充Input A列表 chkb a 和 chkb b 代表 A c d 代
  • Shiny + downloadHandler + Openxlsx 不生成xlsx文件

    我试图通过 Openxlsx 包生成一个 xlsx 文件 其中包含文件内的反应名称和标头 输入变量为 ASL 1 和 Year 1 要保存在文件中的对象是反应表 tab 1 它是由应用程序生成的 没有任何问题 但是当我尝试下载它时 浏览器
  • 在正投影中绘制世界地图给出“非有限点”

    我有一个世界国家的形状文件 从下载here http thematicmapping org downloads TM WORLD BORDERS 0 3 zip 我可以使用 R 在 R 中绘制它 countries lt readOGR

随机推荐

  • Extjs 5,数据模型关联和加载嵌套数据

    试图让这项工作 我想在两个对象模型上加载嵌套数据 Ext application name MyApp launch function Ext define MyApp model Address extend Ext data Model
  • 在javascript中读取excel是将长数字转换为指数

    我正在使用 SheetJs 读取 Excel 文件 但问题是它正在转换长数字 例如3577888990098指数般3 52E 12 这个问题并不重复 因为 文件列可以是随机的 系统不会知道哪些是数字 哪些是字符串 按字母顺序 或两者 那么如
  • 什么是 AABB - 碰撞检测?

    嗨 我正在制作一个体素游戏Java在研究我需要学习的所有不同东西时 我注意到很多游戏都使用AABB用于碰撞检测 然后我记得看到AABB在 我的世界 中也有 但是当我用谷歌搜索什么时AABB也就是说 它只是提出了其他人的代码 或者历史书上的某
  • Exchange Web 服务托管 API:访问其他用户项目

    是否可以访问除登录用户之外的其他 Exchange 帐户的文件夹和项目 我可以通过 Exchange Web 服务托管 API 执行此操作吗 是的 这是可能的 但您应该知道其他用户的密码或以某种方式获取此凭据 NetworkCredenti
  • 如何使用 @ngrx/data 自定义我的减速器?

    我正在学习使用 ngrx data 确实 使用该库我推进了很多代码 但在个性化它时我遇到了问题 我已经了解了如何将字段添加到集合中 export const entityMetadata EntityMetadataMap User add
  • iframe 不适用于 iOS(离子框架)

    我为 iOS 和 Android 开发了一个带有 ionic 框架的应用程序 安卓上没有问题 但是 尽管 iframe 在 Android 和浏览器中运行良好 但它在 iOS 设备和模拟器中没有显示任何内容 请帮我 尝试将其添加到您的 co
  • C 中浮点数的比较

    我有一个double打印为0 000000我试图将其与0 0f 不成功 为什么这里有区别呢 确定双精度数是否为零的最可靠方法是什么 确定它是否足够接近零以将其打印为0 000000精确到小数点后六位 例如 fabs d lt 0 00000
  • Google Maps API 多边形文物在缩放上显示

    我有一个使用 JS API 构建的 Google 地图 其中包含英国不同地区的多边形 在 Chrome 已测试 v58 和 v60 上 当用户使用滚轮放大或缩小时 多边形的随机伪像会卡在地图上 进一步缩放可以消除它们或显示不同的伪影 在 F
  • 在虚拟机共享目录上运行“grunt”

    将 Vagrant 与 Windows 主机和 Linux 客户机一起使用 grunt尝试运行作业时返回以下错误 据我了解 在主机 来宾共享目录中 此文件路径超出了 Windows 的 255 个字符限制 npm ERR Error EPE
  • 如何将 UIPopoverView 显示为地图视图的注释? (iPad)

    在 iPad 的地图应用程序上 当您点击图钉时 您会看到带有 i 的普通注释 而不是公开指示符 进一步点击 i 会显示一个像这样的弹出视图控制器 有没有办法可以轻松实现这一目标 首先在地图上添加注释viewForAnnotation方法 设
  • 如何在 PyCharm 中自动运行 Main.py

    我更喜欢在我的项目中使用类似 Java 的组织 例如 每个班级都有不同的 py文件和类Main 其中仅包含 main 函数 每次我对一个类进行更改时 我都需要单击 Main 并运行代码 Ctrl Shift F10 从那里 我该如何定义我的
  • Rails 计数器缓存与计算

    我有一个想要显示总计的集合 其想法是为我需要的每个总计使用缓存 然而 我还需要深入研究数据集 所以很可能无论如何我都必须加载该集合 那么我应该仍然使用缓存还是只使用计算 正如斯蒂芬 奥唐纳 Stephen ODonnell 所说 取决于藏品
  • 如何使用 Kotlin 在 Android 中压缩照片

    现在这是我从智能手机拍照的代码 问题是图像非常大 我想压缩它 有一些帮助或想法吗 谢谢 你的 信息 执行 abrirCamara 方法 private fun abrirCamara val values ContentValues val
  • Facebook 帖子,图片托管在公共 CDN 上

    Facebook 似乎屏蔽了我引用的任何由 CDN 支持的图像 这是真的 有办法解决这个问题吗 是否有文档说明您可以在帖子的 图片 参数中引用哪些内容以及不能引用哪些内容 是的 Facebook 禁止您在帖子 分享等中使用其 CDN 中的图
  • 如何将Stripe支付集成到Yii2中?

    我有以下代码 它运行时没有错误 但它不会将资金插入到 Stripe 服务器上 Stripe 库已正确安装 配置文件
  • BERT - 池化输出与序列输出的第一个向量不同

    我在 Tensorflow 中使用 BERT 有一个细节我不太明白 根据文档 https tfhub dev google bert uncased L 12 H 768 A 12 1 https tfhub dev google bert
  • 如何从 Objective-C 中的方法返回 C 数组?

    我有一个返回变量的函数 我想知道如何返回一个数组 问题是它不是 NSArray 它只是一个像这样的平均 C 数组 b2Fixture addFixturesToBody b2Body body forShapeName NSString s
  • 在CXF中使用javax.ws.rs.client.ClientBuilder创建客户端,任何路由都能够使用本地传输?

    我正在开发一个使用标准的代码库 javax ws rs client ClientBuilder 类 来自 CXF 发行版 用于配置和创建 javax ws rs client Client 这已经足够好了 我现在正在尝试编写使用的测试JA
  • 如何使用 gnu cp 命令将文件复制到多个目录

    是否可以使用 cp 命令将单个文件复制到多个目录 我尝试了以下方法 但没有成功 cp file1 foo bar cp file1 foo bar 我知道可以使用 for 循环或 find 但是可以使用 gnu cp 命令吗 你不能这样做c
  • 将字符串中第 N 次出现的字符替换为其他字符

    考虑a paste 1 10 collapse 这导致 a 1 2 3 4 5 6 7 8 9 10 我想替换每第 n 次 比如第 4 次 出现的 并将其替换为其他内容 比如 n 期望的输出是 1 2 3 4 n 5 6 7 8 n 9 1