如何比较两个字符串在每个索引处的字符?

2024-03-11

我有两个长度相同的字符串。我想按元素比较字符串并为每个索引返回 TRUE 或 FALSE。例如:

string1 <- "abcd1234"
string2 <- "abcd1434"
result <- [T,T,T,T,T,F,T,T]

到目前为止,我已经有了字符串,并且通过取消列出它们来创建了字符向量,但到目前为止我还无法让 R 中的任何字符串函数正常工作。我知道我可以使用 for 循环并执行简单的 == 但我想知道是否有某种矢量化方法可以做到这一点。

str1 <- unlist(str_split(string1, "")) 
str2 <- unlist(str_split(string2, "")) 

还有一些情况,其中一个字符串会有一个 _ ,表明该字符本质上是一个通配符,不需要检查其是否相等。这就是为什么我试图让正则表达式之一在 R 中工作,这样我就可以用通配符替换 _ 。

string1 <- "abcd_234"
string2 <- "abcd1224"
result <- [T,T,T,T,T,T,F,T] 

apply(do.call(rbind, strsplit(c(string1, string2), "")), 2, function(x){
    length(unique(x[!x %in% "_"])) == 1
})
#[1]  TRUE  TRUE  TRUE  TRUE  TRUE  TRUE FALSE  TRUE

您还可以稍微修改 Rich 已删除的答案

Reduce(f = function(s1, s2){
    s1 == s2 | s1 == "_" | s2 == "_"
},
x = strsplit(c(string1, string2), ""))
#[1]  TRUE  TRUE  TRUE  TRUE  TRUE  TRUE FALSE  TRUE

请注意,第一种方法将允许比较两个以上的字符串

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何比较两个字符串在每个索引处的字符? 的相关文章

  • 手动设置scale_fill_distiller()的比例

    我正在尝试制作一系列图表进行比较 举例来说 我想使用iris数据集来制作这样的图 其中我已过滤以仅查看 setosa 物种 library ggplot2 library dplyr iris gt filter Species setos
  • 合并数据框而不重复行

    我想合并两个数据框 但如果有多个匹配项 则不想重复行 相反 我想总结一下那天的观察结果 来自 合并 提取两个数据框中与指定列匹配的行并将其连接在一起 如果有多个匹配项 则所有可能的匹配项各贡献一行 这是一些示例代码 days lt as d
  • 当有很多列时,使用 readr::read_csv() 导入数据时覆盖列类型

    我正在尝试使用 R 中的 readr read csv 读取 csv 文件 我导入的 csv 文件大约有 150 列 我只包含示例的前几列 我希望将第二列从默认类型 我执行 read csv 时为日期 覆盖为字符或其他日期格式 GIS Jo
  • 按特定样本前缀对列名称向量进行子集化

    假设我有一个如下所示的数据框 ca01 lt c 1 10 ca02 lt c 2 11 ca03 lt c 3 12 stuff 1 lt rep test 10 other lt rep 9 10 data lt data frame
  • R - 与 SpatialPolygonsDataFrame 对象相交的 SpatialLinesDataFrame 列表的嵌套循环

    我有一系列需要完成的步骤SpatialLinesDataFrame 此处的 线 基于对象与多特征中各个特征的关系SpatialPolygonsDataFrame 多边形 对象 简而言之 每个线列表元素源自单个面要素内部 并且可能会也可能不会
  • 通过使用 navbarPanel() 并隐藏导航栏构建多页闪亮应用程序用户端(在 ui.R 中)?

    我想构建一个多页闪亮应用程序 我可以在其中控制用户可以看到哪个页面 迪安 阿塔利确实这个演示应用程序中有类似的东西 https github com daattali advanced shiny tree master multiple
  • 在C#中的某个单词之后/之前过滤字符串中的值

    我有很长的字符串 它们是 IMAP 请求的响应 我想从中提取一些值 它通常的格式类似于 x someword 或 someword x 如何获取某个单词 已知 的x 它可以超过一位数字 响应的每一 行 如下所示 x someword r n
  • R 将多个值与向量进行比较并返回向量[重复]

    这个问题在这里已经有答案了 我有一个向量 A 对于 A 的每个元素 我想检查它是否等于第二个向量 Targets 中的任何元素 我想要一个逻辑值向量 其长度为 A 作为返回 也提到了同样的问题here http r 789695 n4 na
  • 如何在knitr和RStudio中为word和html设置不同的全局选项?

    我正在使用 RStudio 0 98 932 和 knitr 1 6 想要为word和html设置不同的全局knitr选项 例如 想要将word的fig width和fig height设置为6 html的fig width和fig hei
  • 从日期变量创建月末日期

    我有一个包含日期变量的大型数据框 它反映了该月的第一天 有没有一种简单的方法来创建代表该月最后一天的新数据框日期变量 以下是一些示例数据 date start month seq as Date 2012 01 01 length 4 by
  • 从 n,k 维矩阵数组中减去 n,k 维矩阵

    如果我有一个数组A A lt array 0 c 4 3 5 for i in 1 5 set seed i A i lt matrix rnorm 12 4 3 如果我有矩阵 B set seed 6 B lt matrix rnorm
  • R、Rcpp 与 Armadillo 中矩阵 rowSums() 与 colSums() 的效率

    背景 来自 R 编程 我正在扩展到 C C 形式的编译代码Rcpp 作为循环交换 以及一般的 C C 效果的实践练习 我实现了 R 的等效项rowSums and colSums 矩阵的函数Rcpp 我知道它们以 Rcpp 糖的形式存在 并
  • Golang中按长度分割字符串

    有谁知道如何在 Golang 中按长度分割字符串 例如 每 3 个字符分割 helloworld 那么理想情况下它应该返回一个 hel low orl d 数组 或者 一个可能的解决方案是在每 3 个字符后附加一个换行符 所有的想法都非常感
  • 在 R 传单中添加不透明度滑块

    如何在 R leaflet 应用程序中添加滑块来控制特定图层的不透明度 对于这个应用程序 我不想使用闪亮 这里建议 在 R 传单应用程序中添加滑块 https stackoverflow com questions 37682619 add
  • 将字符串列拆分为多个虚拟变量

    作为 R 中 data table 包的相对缺乏经验的用户 我一直在尝试将一个文本列处理为大量指示符列 虚拟变量 每列中的 1 表示特定的子字符串是在字符串列中找到 例如我想处理这个 ID String 1 a b 2 b c 3 c 进入
  • 使用 R 下载压缩数据文件、提取和导入数据

    EZGraphs 在 Twitter 上写道 很多在线 csv 都被压缩了 有没有办法下载 解压缩存档并使用 R 将数据加载到 data frame Rstats 我今天也尝试这样做 但最终只是手动下载 zip 文件 我尝试过类似的东西 f
  • 将 time.Time 转换为字符串

    我正在尝试将数据库中的一些值添加到 string在围棋中 其中一些是时间戳 我收到错误 无法在数组元素中使用 U Created date 类型 time Time 作为类型字符串 我可以转换吗time Time to string typ
  • PLSql 返回值

    我再次使用一些 PLSql 我想知道 是否有任何方法可以像选择一样使用以下函数 而不必将其转换为函数或过程 这样我就可以从包含它的脚本中看到代码 代码如下 DECLARE outpt VARCHAR2 1000 flow rI VARCHA
  • 将 Excel 范围转换为 VBA 字符串

    我想将给定范围内的值转换为 VBA 字符串 其中原始单元格值由任何选定的列分隔符和行分隔符分隔 分隔符可以是一个字符或更长的字符串 行分隔符是行末尾的字符串 该字符串应该像我们从左上角 从左到右 到右下角读取文本一样完成 以下是范围 A1
  • 绘制 Cox 回归的 Kaplan-Meier 图

    我使用 R 中的以下代码设置了一个 Cox 比例风险模型来预测死亡率 添加协变量 A B 和 C 只是为了避免混淆 即年龄 性别 种族 但我们真正对预测变量 X 感兴趣 X 是一个连续变量 cox model lt coxph Surv t

随机推荐

  • Xamarin 表单 MessagingCenter 取消订阅未按预期工作

    当我在应用程序中多次来回导航时 MessagingCenter Subscribe 内编写的功能会被多次调用 但每次在订阅之前 我都会在构造函数中取消订阅 如下所示 但它仍然不起作用 MessagingCenter Unsubscribe
  • 提交表单后JQuery发送post请求?

    你好朋友 这是我的代码 用于表单提交 然后发送帖子链接 但表单提交成功 然后不发送帖子链接 document getElementById pitch image path form submit function e post submi
  • 应替换现有类型,添加新类型

    我有一个基地std vector和一个std initializer list
  • C编码:只读取带小数的浮点数,拒绝整数和特殊字符

    我正在尝试用 C gcc 编写代码以仅接受带小数的浮点数并拒绝整数 特殊字符 字母数字条目 有效条目是 1 23 3 45 6 77 无效条目 abc e34 834ww 6 9 还有一些不是浮动的废话 这是我尝试过的 include
  • 如何获取 Rails 控制器中活动存储中存储的附件的 URL

    如何获取存储在 Rails 控制器的活动存储中的 has one 模型附件的 URL 因此 我可以将其作为完整链接作为 json 中的 api 发送 到目前为止 我已经尝试过以下方法 但每个方法都给出了不同的问题 current user
  • 组合两个 matplotlib 颜色图

    我想将两个颜色图合并为一个 这样我就可以使用一个cmap一个用于负值 另一个用于正值 目前 我使用屏蔽数组来完成此操作 并用一张图像绘制一张图像cmap以及另一个图像与另一个图像 结果是 有以下数据 dat np random rand 1
  • 使用 Clearcase 递归签入

    我想将一个目录和所有子目录签入到透明案例中 有具体的命令可以实现吗 目前我正在进入每个目录并手动检查每个文件 我会推荐这个问题 https stackoverflow com questions 33577 how do i perform
  • 如何在 JavaScript 中循环遍历 JSON 关联数组?

    我从服务器收到 JSON 响应 并且必须在 javascript 中循环遍历数组并获取值 但我似乎无法循环遍历它 数组的 JSON 响应如下所示 1 Schools 20 Profiles 31 Statistics 44 Messages
  • 在 Facelet 模板中包含非 Facelet 内容

    有没有办法将 html 文件的内容插入到 Facelet 模板中 Facelets 标签不起作用 因为它仅用于包含 Facelet 内容 换句话说 我正在寻找相当于 JSP include 指令的 Facelets 我可能不明白你需要什么
  • 如何等待一组异步回调函数?

    我的代码在 javascript 中看起来像这样 forloop async call returns an array to its callback 所有这些异步调用完成后 我想计算所有数组的最小值 我怎样才能等到他们所有人呢 我现在唯
  • TFS 电子邮件通知

    当我在 TFS 中添加错误 工作项 并将其分配给用户时 我希望向该用户发送一封电子邮件 此外 如果现有错误的 分配给 发生更改 我希望该用户收到一封电子邮件 当用户在 TFS 2008 中分配了更改的错误时 是否可以向用户发送警报 至少在
  • 指令在 Spray 中如何工作?

    我想了解 Spray 中的指令如何工作 根据文档 http spray io documentation 1 1 SNAPSHOT spray routing key concepts directives 指令的一般结构如下 name a
  • 通过WCF发送图像的有效方法?

    我正在通过从头开始编写 VNC 等自定义远程控制应用程序来学习 WCF LINQ 和其他一些技术 我创建它时考虑了三个主要目标 服务器将在应用程序级别 即无缝窗口 提供 远程控制 而不是完整的桌面访问 客户端可以选择服务器上运行的任意数量的
  • 内存分配和 **argv 参数[关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 我知道我们使用这个论证的目的 我什至知道如何使用这个论证 只有一件事我仍然不明白 程序如何为来自输入的字符串分配内存 argv 在程序开始时
  • Safari 11.0.3 无法识别内容安全策略哈希

    我有一个元标记 其中包含以下指令 然后 我在页面下方有 2 个内联脚本 每个脚本都应与策略中生成的 sha 之一匹配 在 Chrome 和 Firefox 中 我没有收到任何投诉 我的脚本按预期运行 在 Safari 版本 11 0 3 1
  • 在添加另一个标记之前检查现有标记

    谷歌地图 API v2当我等待另一个应用程序完成时 我出于兴趣创建了另一个应用程序 该应用程序一次只能将 1 个标记添加到地图中 我喜欢我做的地图 我目前有这段代码 如果标记已存在 它将清除地图 然后添加另一个标记 但我想要的是它显示一条消
  • `tools:replace="android:supportsRtl"` 可以与 `tools:ignore="AllowBackup"` 一起使用吗?

    正如张贴在https stackoverflow com a 39178185 3286489 https stackoverflow com a 39178185 3286489 解决如下错误 Error Execution failed
  • 当我单击外部提供商按钮时,为什么我的网站会重定向回登录屏幕?

    我正在将 ASP Net MVC4 站点升级到 MVC5 并在此过程中实现新的 OWIN 身份验证方法 我已从空白 MVC5 项目上的帐户控制器复制了操作方法 问题是 当我单击外部提供商按钮 例如 Google 时 我只是再次重定向回登录页
  • 文本文件中字符串中的两个单词

    我正在尝试在字符串中获取两个单词 但我不知道该怎么做 我尝试过 但如果在文本文件中我有 姓名 Penny Marie 它会给我 姓名 Penny 我怎样才能在s1中获得Penny Marie 谢谢 include
  • 如何比较两个字符串在每个索引处的字符?

    我有两个长度相同的字符串 我想按元素比较字符串并为每个索引返回 TRUE 或 FALSE 例如 string1 lt abcd1234 string2 lt abcd1434 result lt T T T T T F T T 到目前为止