在 r 和正则表达式中,如何检测排除某些混合条件的字符

2024-02-18

我试图检测字符串中的一些点 (.),并将它们替换为单词旁边的相同点,例如“.”。变为“.AAA”。但有一些条件我想避免替换:

  1. 如果点之前有一个空格和一个字符
  2. 如果点位于两个连字符 (-) 之间

例如,如果输入是:

string <- "first. - second. - third. 4."

我想要的输出是:

"first.AAA - second. - third.AAA 4."

对于第一个条件我可以弄清楚:

str_replace_all("[^ [A-Z19a-z]\\.]([\\.])","\\1AAA")

但在阅读有关前瞻和后视以解决第二个条件并将两者混合在一起时感到困惑。


如果单个字符是指包括换行符在内的任何字符,则可以使用

gsub("(?s)(?:\\s.\\.|-[^-]*-)(*SKIP)(?!)|(\\.)", "\\1AAA", x, perl=TRUE)

See the 正则表达式演示 https://regex101.com/r/7OmM62/1。如果您需要精确地确定“任何字符”条件,请将未转义的点替换为\\s.\\.具有适当的构造。

Details:

  • (?s)- 一个多塔尔s使点匹配任何字符(包括换行符)的标志
  • (?:\s.\.|-[^-]*-) - a non-capturing group matching either
    • \s.\.- 一个空白,任意一个字符, a dot
    • | - or
    • -[^-]*-- 一个连字符,零个或多个除连字符以外的字符,然后是一个连字符
  • (*SKIP)(?!)- 跳过在当前位置失败的匹配,并触发从失败位置搜索下一个匹配
  • | - or
  • (\.)- 第 1 组:一个点。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 r 和正则表达式中,如何检测排除某些混合条件的字符 的相关文章

  • 正则表达式将从文本文件中提取句子

    我需要一个正则表达式来从文本文件中提取句子 示例文本 以 2004 年底发生的亚洲海啸灾难为例 对 Google 新闻 http news google com 的查询在一个月内 1 月 17 日 返回了超过 80 000 篇有关该事件的在
  • ggplot 中的错误问题:“grid.Call(”L_textBounds“, as.graphicsAnnot(x$label), x$x, x$y, … 中的错误”[重复]

    这个问题在这里已经有答案了 我试图在 ggplot 中制作一个条形图 其中我通过强制其中一些标签为长度为零的字符串 即 来指定要显示的标签 但是 我收到错误 Error in grid Call L textBounds as graphi
  • Laravel 验证规则仅针对字母

    我正在尝试添加验证规则以仅接受信件 我正在使用regex规则 但它仍然不起作用 下面是我的代码 Validate request input this gt validate request name gt required regex p
  • Bash:单行命令以与 grep 命令相反的状态退出?

    如何减少以下 bash 脚本 grep P STATUS Perfect recess txt exit 1 exit 0 看起来我应该能够用一个命令来完成它 但我这里总共有 3 个命令 我的程序应该 阅读课间休息 txt 如果它包含 ST
  • 在 R 中绘制对数正态概率密度

    我正在尝试在 R 中生成对数正态概率密度图 其中包含 3 个不同的均值对数和标准差对数 我尝试了以下方法 但我的图表太丑了 看起来一点也不好看 x lt seq 0 10 length 100 a lt dlnorm x meanlog 0
  • R.matlab/readMat:readTag(this) 中出错

    我正在尝试使用 R matlab 将 matlab 文件读入 R 但遇到此错误 require R matlab r lt readMat file mat verbose T Trying to read MAT v5 file stre
  • R 编程:如何计算数据框中两个单元格之间的差异并将它们保存在新列中

    尝试学习 R 并陷入自相关示例中 我想将 x 的差异与 y 的差异进行回归 我在数据框中有 x 和 y 并且希望将 x2 x1 的差值保存在新列 例如 dx 中 我不知道该怎么做 我拥有的 data1 x y 5 3 8 9 3 1 1 5
  • 根据另一列中的键累积一列中的值时出现问题

    我有一个看起来像这样的数据框 我需要使用 PROJ ID 列中的字符串创建一个新的值列 并形成 PROJ NAME 列中的值字符串 这里提供的解决方案 根据 r 中另一列的键累积一列中的值 https stackoverflow com q
  • 如何更改 Shiny 中 navbarPage 折叠的断点

    我想用shiny navbarPage collapsible TRUE 当在小屏幕上查看我的 Shiny 应用程序时 将导航元素折叠到菜单中 默认情况下 当浏览器宽度小于 940 像素时会触发折叠 有什么方法可以改变这一点 以便在稍大的浏
  • 将函数应用于 3d 数组的每一层,返回一个数组

    假设您有一个包含行 列和层的 3 维数组 A lt array 1 27 c 3 3 3 想象你有一个函数 它接受一个矩阵作为输入并返回一个矩阵作为输出 就像t 如何将该函数应用于数组的每一层 返回与第一层大小相同的另一个数组 我觉得我应该
  • 仅保留百分比的尾随零

    给出以下示例 library pander tableAbs lt Titanic 1 1 tablePct lt round prop table tableAbs 100 2 table lt cbind tableAbs tableP
  • 解析,用三点参数替换

    让我们考虑一个典型的deparse substitute R call f1 lt function u x y print deparse substitute x varU vu varX vx varY vy f1 u varU x
  • 比较 R 中的两个字符向量

    我有两个 ID 字符向量 我想比较这两个字符向量 特别是我对以下数字感兴趣 A和B各有多少个ID 有多少个ID在A中但不在B中 有多少个ID在B但不在A 我还想画维恩图 以下是一些可以尝试的基础知识 gt A c Dog Cat Mouse
  • 使用 R 进行项目组织 [重复]

    这个问题在这里已经有答案了 可能的重复 统计分析和报告撰写的工作流程 https stackoverflow com questions 1429907 workflow for statistical analysis and repor
  • 使用 preg_replace 仅替换第一个匹配项

    我有一个结构类似于以下的字符串 aba aaa cba sbd dga gad aaa cbz 该字符串每次都可能有点不同 因为它来自外部源 我只想替换第一次出现的 aaa 但其他人则不然 是否可以 可选的第四个参数预替换 http php
  • 带 R 的多彩标题

    我想添加颜色某些词在我的图表标题中 我已经能够在这里找到一些先例 http blog revolutionanalytics com 2009 01 multicolor text in r html 具体来说 我希望用撇号括起来的文本 在
  • R - 通过覆盖和递归合并列表

    假设我有两个带有名字的列表 a list a 1 b 2 c list d 1 e 2 d list a 1 b 2 b list a 2 c list e 1 f 2 d 3 e 2 我想递归地合并这些列表 如果第二个参数包含冲突的值 则
  • 16 位以上整数的计算

    我有两个大整数 两者都超过 16 位 确切地说是 20 位 而且我知道由于双精度浮点运算 我在使用这些数字进行计算甚至将它们存储在变量中 独立于编程语言 时受到限制 不过 我想也许gmp图书馆应该处理它们 但不幸的是它没有 可以计算更大的整
  • R 中的 Websocket

    我设法在 R 中建立到 Mtgox websocket 的连接 规格如下 url https socketio mtgox com mtgox Currency USD https socketio mtgox com mtgox Curr
  • 单击 R 中的 Sankey Chart 线时添加额外的标签值

    以下 R 闪亮脚本创建一个桑基图 如下面的快照所示 我的要求是 当我单击左右节点之间的任何链接 即 a1 和 a2 时 我希望相应的 a3 的总和出现在标签中 例如 a1 中的 A 和 a2 中的 E 总共具有值 50 和 32 因此 我想

随机推荐

  • 在 C++11 中生成随机字符串? [复制]

    这个问题在这里已经有答案了 我需要使用 C 11 生成随机字符串的帮助 我不知道如何继续 如果你能帮助我 include
  • 列表视图无限滚动

    我有一个使用自定义适配器的列表视图 现在我希望它显示前五个条目并在向下滚动时加载其他条目 最简单的方法是什么 如果我的列表代码是 public class Second extends Activity static final Strin
  • 查看 Visual Studio 中哪些方法/函数返回特定对象

    我正在 Visual Studio 中制作 C 应用程序 想知道是否有任何方法可以查看返回特定类型的每个方法 例如 我想知道哪些方法返回 AsymmetryAlgorithm 对象 Reflector http www red gate c
  • a[:] = b 和 a = b[:] 之间的区别? (Python)

    我被要求进行编码测试 但不知道答案 有人有主意吗 是切片运算符 当它位于左侧时 它会覆盖列表的内容而不创建新的引用 当它位于右侧时 它会创建具有相同内容的列表的副本
  • 如何使非英语网址在 next.js 中工作?

    如何使非英语 URL 与 next js ssr client 一起使用 欢迎任何想法 重写等 前段时间重写有助于解决这个问题 但在一些更新之后它停止工作 这是我的尝试fix this https github com zeit next
  • 从 listView 中删除标题

    我在尝试从文件中删除标头时遇到一些问题listView 起初我使用addHeaderView 添加它 但是当我更改为另一个布局时我希望它消失但是removeHeaderView 不起作用 我也尝试将可见性设置为 消失 但它并没有消失 我能做
  • RadioGroup 扩展relativelayout?

    我正在尝试为我的应用程序制作一个单选按钮网格 据我所知 使用常规方法这是不可能的RadioGroup因为它扩展了 LinearLayout 并且如果你尝试安排RadioButtons在里面使用RelativeLayoutRadioGroup
  • Prolog家族关系,意外失败

    谁能告诉我为什么我的姨妈关系不工作 每当我尝试调用它时它都会返回 false 我在下面写的叔叔关系似乎运作得很好 我不明白有什么区别 我也尝试过 not mother X Y 最后也但这并没有改变任何东西 FACTS parents dav
  • 使用泛型类型参数作为参数

    我正在尝试创建一个通用函数 它用一个函数调用另一个函数any类型参数 这是我尝试过的 static GetInstance
  • 为什么 CROSS APPLY *不*在此查询中出现无效列错误?

    我正在编写一些代码来查询一些DMV 某些列可能存在于 DMV 中 也可能不存在 具体取决于 SQL 版本 我在网上发现了一个有趣的建议 如何使用跳过特定检查CROSS APPLY 下面的查询是读取 DMV 中可能缺失的列的代码示例 该代码为
  • 在 JavaScript 中交换两个对象

    我有以下代码 MyObject prototype doIt function var a this obj1 var b this obj2 我怎样才能交换的值这个 obj1 and 这个 obj2所以obj1变成obj2 obj2变成o
  • 模板、函数指针和 C++0x

    我的个人实验之一是为了了解 C 0x 的一些功能 我试图将函数指针传递给要执行的模板函数 最终执行应该发生在不同的线程中 但对于所有不同类型的功能 我无法使模板正常工作 include
  • 类型错误:$scope.apply 不是函数

    我试图在检索联系人列表后呈现它rdflib js 它正在正确加载并将其保存在范围内的列表中 但我无法渲染 scope 不更新的正弦 看起来我正在调用 scope apply 在错误的地方 发生错误是因为我将其称为外部角度 但我故意在角度上下
  • 返回 pandas 数据帧的函数

    我不清楚我的问题 所以我正在审查这个问题 我有一个操作通用数据框的函数 它删除并重命名列和记录 def manipulate df df local df local rename columns A grouping column inp
  • 如何为复杂的数学方程创建 Java GUI 程序

    我正在学习 Java AWT 和 Swings 并了解如何创建基本的 GUI 元素 并且我能够使用它来编写一些程序 但是 当我试图了解如何为一些复杂的数学方程创建图表时 我无法找到一些文档或任何示例 例如 在这篇文章中 如何求解三角方程co
  • 获取我的主屏幕小部件的大小

    我只想知道我当前的小部件有多大 我发现了很多设置最小尺寸的问题 但我不想设置它 相反 我想显示适合小部件的信息 如果小部件太小 我需要隐藏一些东西 但我需要知道它的大小 我阅读了一些类的源代码 例如AppWidgetProvider 甚至文
  • Go SDK Apache Beam:单例侧输入 Singleton for int 定义不明确

    使用适用于 Apache Beam 的 Go SDK 我尝试使用侧面输入创建 PCollection 的视图 但我收到这个奇怪的错误 Failed to execute job on ctx making side input 0 sing
  • 查找两个顶点之间的所有最短路径

    给定一个有向图G V E 两个顶点s t和两个权重函数w1 w2 我需要找到最短路径s to t by w2在所有最短路径之间s to t by w1 首先 我怎样才能找到两个顶点之间的所有最短路径s and t Dijkstra 算法帮助
  • Webpack DefinePlugin 未设置/读取 node_env 变量

    我在通过 Webpack 的 DefinePlugin 将 node env var 注入到我的代码中时遇到了真正的问题 并且在阅读了大量帖子后似乎没有任何效果 我有一种感觉 我错过了什么 所以我的生产 webpack 配置是 Config
  • 在 r 和正则表达式中,如何检测排除某些混合条件的字符

    我试图检测字符串中的一些点 并将它们替换为单词旁边的相同点 例如 变为 AAA 但有一些条件我想避免替换 如果点之前有一个空格和一个字符 如果点位于两个连字符 之间 例如 如果输入是 string lt first second third