识别常见模式[重复]

2023-12-07

是否有(简单)可能识别两个字符串共享的公共模式? 这是一个小例子来阐明我的意思:

我有两个包含字符串的变量。两者都包含相同的模式(“ABC”)以及一些“噪音”。

a <- "xxxxxxxxxxxABCxxxxxxxxxxxx"
b <- "yyyyyyyyyyyyyyyyyyyyyyyABC"

假设我不知道常见模式,并且我希望 R 找出两个字符串都包含“ABC”。我怎样才能做到这一点?

*edit

第一个例子可能有点过于简单化。这是我的真实数据的一个例子。

a <- "DUISBURG-HAMBORNS"
b <- "DUISBURG (-31.7.29)S"

这两个字符串都包含“DUISBURG”,我希望函数能够识别它。

*edit

我采用了评论中发布的链接中提出的解决方案。但我仍然没有得到我想要的。

library(qualV)
LCS(strsplit(a[1], '')[[1]],strsplit(b[1], '')[[1]])$LCS

[1] "D" "U" "I" "S" "B" "U" "R" "G" "-" " " " " "S"

如果函数正在寻找两个向量的最长公共子序列,为什么它不在之后停止"D" "U" "I" "S" "B" "U" "R" "G"? .


功能LCS from qualV包装(在查找两个字符变量之间的公共子字符串; not可能的重复)做了一些你不需要的事情。它解决了最长公共子序列问题,其中子序列不需要占据原始序列中的连续位置。

你拥有的是最长公共子串问题,您可以使用this算法,这里是假设存在唯一(就长度而言)最长公共子串的代码:

a <- "WWDUISBURG-HAMBORNS"
b <- "QQQQQQDUISBURG (-31.7.29)S"

A <- strsplit(a, "")[[1]]
B <- strsplit(b, "")[[1]]

L <- matrix(0, length(A), length(B))
ones <- which(outer(A, B, "=="), arr.ind = TRUE)
ones <- ones[order(ones[, 1]), ]
for(i in 1:nrow(ones)) {
  v <- ones[i, , drop = FALSE]
  L[v] <- ifelse(any(v == 1), 1, L[v - 1] + 1)
}
paste0(A[(-max(L) + 1):0 + which(L == max(L), arr.ind = TRUE)[1]], collapse = "")
# [1] "DUISBURG"
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

识别常见模式[重复] 的相关文章

  • 安装 R 包。包含目录为空。开发标头

    我目前正在尝试运行一些最初在 2 11 0 下运行的 R 代码 我使用的 R 版本 2 14 1 无法运行该代码 我不熟悉 R 及其向后兼容性 据我所知 我的问题可能与版本无关 我会很高兴得知这是我做错的事情 其余的代码是无关紧要的 即使我
  • 在 R data.table 中计算时间增量

    我有一个篮球运动员数据的数据表 其中包括每场比赛和多名球员的比赛日期 我想创建一个列来计算自上一场比赛以来的天数 我在 R 中使用 data table 包 PLAYERID GAME DATE 1 2989 2014 01 1 2 298
  • 如何检查向量是否是单个 NA 值,没有长度警告且没有抑制

    我有一个功能NA作为默认值 但如果没有NA应该是一个不限于大小 1 的字符向量 我有一个检查来验证这些 但是is na当向量是字符向量时产生标准警告length大于1 so function lt function x NA if is n
  • 从字符串中提取电子邮件地址

    我有一个像这样的字符串 Francesco Renga lt email protected cdn cgi l email protection gt 我只需要提取电子邮件 即 电子邮件受保护 cdn cgi l email protec
  • 尝试使用 movie3d 制作 3D PCA 图(rgl)的电影

    我已经使用 pca3d 包在 R 中制作了 rgl 3D PCA 图 并且我正在尝试使用 movie3d 制作一个包含旋转图电影的 gif 文件 pca3d 包 makeMoviePCA 中有一个函数 它将其参数传递给 movie3d 这是
  • 使用 rvest 进行抓取 - 当标签不存在时,使用 NA 完成抓取

    我想解析这个 HTML 并从中获取这个元素 a p标签 与class normal encontrado b div with class price 有时 p某些产品中不存在标签 如果是这种情况 NA应添加到从该节点收集文本的向量中 这个
  • 将 SAS sas7bdat 数据读入 R

    R 有哪些选项可以读取本机 SAS 格式的文件 sas7bdat 进入R The NCES 共同核心 https nces ed gov ccd pubschuniv asp例如 包含以此格式保存的大量数据文件存储库 为了具体起见 让我们集
  • 获取数据集 R 包中所有对象名称的列表?

    如何获取对象中对象的确切名称列表datasets https stat ethz ch R manual R devel library datasets html 00Index html包裹 我在这里找到了很多 data package
  • 使用多边形图层下方的轮廓线切割多边形

    我想根据高程将多边形图层切割成两部分 上部和下部 多边形可能是凸的或凹的 并且切割的位置可能彼此不同 等高线的间隔为 5m 这意味着我可能需要生成一个具有更紧凑的等高线的等高线 例如 1m 的间隔 关于如何做到这一点的任何想法 在 ArcG
  • R:交换两个变量而不使用第三个变量

    我有两个变量 即 a lt 1 b lt 2 我想交换他们的价值观 是否有任何内置的 R 函数能够执行该操作 或者是否有其他优雅的方式 而不使用第三个 临时 变量 Note 如果可能的话适用于字符串或其他数据类型 有一个通用的解决方案或 技
  • 将 stat_smooth 添加到 ggplot2 中的仅 1 个方面

    我有一些数据 在某个因素的某个水平上 存在显着的相关性 在另一个层面上 则没有 并排绘制这些图很简单 使用 stat smooth 向它们添加一行 也很简单 但是 我不希望线条或其填充显示在两个面之一中 有没有一种简单的方法可以做到这一点
  • “如何判断 Python 中的字符串是否重复?”的更复杂版本

    我正在读书这个帖子 https stackoverflow com questions 29481088 how can i tell if a string repeats itself in python我想知道是否有人可以找到将重复的
  • 数据框中按行相关

    我正在尝试计算大型数据帧的所有行之间的相关性 到目前为止已经提出了一个有效的简单 for 循环 例如 name lt c a b c d col1 lt c 43 78 43 84 37 92 31 72 col2 lt c 43 80 4
  • ‘!’ 对于 R 中的因子没有意义

    我需要从数据框中排除变量 PABI 所以 我按如下方式进行子集化 MyData4 lt subset MyData PROV PABI newdata lt MyData MyData4 但我得到了这个错误 Error in FUN lef
  • 挑战:优化取消列出[简单]

    因为 SO 最近有点慢 所以我发布了一个简单的问题 如果大鱼们能在这场比赛中留在替补席上并给新秀们一个回应的机会 我将不胜感激 有时我们的对象具有大量的大列表元素 向量 您如何将这个对象 取消列出 到单个向量中 证明你的方法比unlist
  • 如何修改反应链以便最后修改的对象控制其他链接的对象?

    新注释 1 最终解决的代码发布在最底部 反映了 ismirsehregal 于 2021 年 12 月 3 日的解决方案 以及一些标记为 ADDED 和 MODIFIED 的小调整 ADD 是为了解决我在矩阵 2 添加值后从矩阵 1 中删除
  • 将一长行带空格的数据导入R中

    这个问题是我上一个问题的后续问题 将一长行数据导入到 R 中 https stackoverflow com questions 8389913 我有一个由单行文本组成的大型数据文件 格式类似于 Cat 14 15 Horse 16 我最终
  • 如何从字符串中提取子字符串直到遇到第二个空格?

    我有一个像这样的字符串 o1 1232 5467 1232 5467 1232 5467 1232 5467 1232 5467 1232 5467 如何仅提取 o1 1232 5467 要提取的字符数并不总是相同 因此 我只想提取直到遇到
  • 有没有一种明智的方法可以在 R 中执行诸如文档字符串之类的操作?

    这不仅仅是一个编码风格问题 如果您了解 python 我认为 Ruby 也有类似的东西 您可以在函数中拥有文档字符串 这样您就可以通过发出 help 命令轻松获取该字符串 例如 def something t None Do somethi
  • 如何在Java中对对象数组进行字段级别排序以进行等级比较?

    In Java Class StudentProgress String Name String Grade CTOR goes here main class main method StudentProgress arrayofObje

随机推荐

  • 正则表达式如何在任何地方排除特定字符或字符串[重复]

    这个问题在这里已经有答案了 the cat sat on the mat 假设这些是不同的条目 从您要搜索的内容中的任何位置排除特定字符 在本例中为 a 的正则表达式是什么 所以你会得到的点击是 the on the 或者如果它是一个单词
  • 在请求中传递标头的效果?

    我想知道当你传递标题时会有什么不同requests get即之间的差异requests get url headers and requests get url 我有这两段代码 from lxml import html from lxml
  • 我的 Spring Security 应用程序不会超出登录页面

    我刚刚启动了一个使用 Spring Security 进行身份验证的项目 该项目使用 Java 配置而不是 XML 这是我的 SecurityConfig java 类 Configuration EnableWebSecurity pub
  • 将 .txt 文件中的双精度数读入双精度数组 C++

    我正在尝试创建一个需要大量股票价格的程序 我将这些价格存储在 txt 文件中 每行一个双精度 数量未知 可能有数千 我无法将数据放入我可以操作的数组中 我已经几个小时无法解决这个问题了 每当我尝试从文件中读取数据然后将其转换为双精度时 我都
  • 使用 babel ES6 创建注释

    我实际上正在使用 babeljs 和 ES6 带有 js 文件 开发一个应用程序 我想知道是否可以创建注释 就像我们可以使用 typescript 一样 使用 babeljs 和 ES6 JavaScript 没有与 TypeScript
  • 来自用户输入的Python调用函数[重复]

    这个问题在这里已经有答案了 可以根据用户输入调用函数吗 像这样的东西 def testfunction function function a raw input fill in function name testfunction a 因
  • 如何确认多个 AJAX 调用已完成?

    document ready function list1 jqGrid url example1 php balabala gridComplete function list2 jqGrid url example2 php balab
  • 如何在 JMeter 中将变量从一个线程组传递到另一个线程组

    我有一个包含 2 个线程组的 JMeter 测试 第一个是单个线程 创建一些库存 第二个有多个线程 购买所有库存 我使用 BeanShell Assertions 和 XPath Extractors 来解析返回值 XML 并存储变量 例如
  • 删除 datagridview 标题中的排序箭头并将文本放在框的中心

    我正在开发一个项目 需要标题文本位于中心 当单击标题时它将进行排序 但问题是 有一个排序箭头图标 即使它没有显示 它也会将文本推到左侧 我想要实现的是 删除排序箭头并将文本置于中心但仍保留排序功能 p s 我尝试处理单元格事件绘制并重新绘制
  • 替换字符串中特定索引处的字符?

    我正在尝试替换字符串中特定索引处的字符 我正在做的是 String myName domanokz myName charAt 4 x 这会产生错误 有什么方法可以做到这一点吗 Java 中的字符串是不可变的 你无法改变它们 您需要创建一个
  • Java枚举和迭代器的区别

    这两个接口的具体区别是什么 做Enumeration比使用有好处Iterator 如果有人能详细说明 参考文章将不胜感激 查看 Java API 规范Iterator界面上 有关于之间差异的解释Enumeration 迭代器不同于 枚举有两
  • python asyncio 无法同时运行两个无限函数

    我一直在尝试同时运行两个功能 但一个功能似乎永远无法工作 除非我停止另一个功能 第一个函数每 30 秒发送一封电子邮件 而第二个函数每 5 秒打印一条简单的语句 组合起来 每 6 个 Hello Worlds 输出应发送一封电子邮件 然而
  • 如何在 AChartEngine 中禁用显示缩放窗格

    任何人都可以帮助我了解 AChartEngine 在这里 我需要的第一件事是不要在图表中显示缩放图标 也不显示 x y 标签 但我找不到任何解决方案 您可以使用XYMultipleSeriesRenderer方法 启用或禁用缩放和平移 如下
  • 使用Python的词云库时,为什么停用词没有被排除在词云之外?

    我想排除 The they 和 My 在我的词云中显示 我正在使用 python 库 wordcloud 如下所示 并使用这 3 个附加停用词更新停用词列表 但 wordcloud 仍然包含它们 我需要更改什么才能排除这 3 个单词 我导入
  • Angular 2:将 *ngFor 加 2 或在 Pagination 中实现两个分页

    我对 Angular 还很陌生 我想知道是否有任何方法可以将 ngFor 循环增加 2 而不是 1 我正在尝试在一个分页中实现两个分页 为此需要将循环增加 2 我正在获取包含带有 in 的对象的对象 假设用户及其地址列表 第一个NgFor是
  • 如何在 ASP.NET MVC 模型中保存选定的 DropDownList 值以进行 POST?

    我的模型中有一个属性 如下所示 public IList
  • Shell 脚本中的字符小写到大写

    我的价值在于 詹姆斯 亚当 约翰我正在努力做到詹姆斯 亚当 约翰 每个名称的第一个字符应大写 根据 kev 下 echo 詹姆斯 亚当 约翰 sed s 我无法在不同的系统中执行相同的操作 我正在使用 ksh 但我不知道是否是因为 ksh
  • 如何从我的全局热键粘贴其他应用程序

    我编写了一个小型生产力工具 可以通过剪贴板进行一些字符串操作 它当前正在注册一个热键 在其中提取剪贴板文本 对其进行处理 然后将结果转储回剪贴板上 我已将其安装在 CMD SHIFT V 上 目前 您需要从另一个应用程序执行的操作是复制 C
  • 如何在 VisualForce 页面中实现“保存并新建”功能

    我知道这就是保存记录的方法
  • 识别常见模式[重复]

    这个问题在这里已经有答案了 是否有 简单 可能识别两个字符串共享的公共模式 这是一个小例子来阐明我的意思 我有两个包含字符串的变量 两者都包含相同的模式 ABC 以及一些 噪音 a lt xxxxxxxxxxxABCxxxxxxxxxxxx