You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在R中逐行检查A列字符串是否为B列较长字符串的子串

检查A列公司名称是否为B列字符串的子串

方法一:Excel公式(适合小规模数据)

在A列旁新增一列(比如C列),在C2单元格输入以下公式,然后下拉填充整列:

=ISNUMBER(SEARCH(A2,B:B))
  • SEARCH(A2,B:B)会在B列所有单元格中查找A2的内容,找到则返回匹配位置的数字,找不到返回错误值
  • ISNUMBER()将结果转换为布尔值:TRUE表示A列公司名是B列某条字符串的子串,FALSE表示不存在
  • 如果需要区分大小写匹配,把SEARCH换成FIND即可

方法二:Python + Pandas(适合大规模数据)

如果数据源规模较大,用代码处理效率更高:

import pandas as pd

# 读取数据源(根据实际文件格式调整,比如xlsx)
df_a = pd.read_csv("a_column.csv")
df_b = pd.read_csv("b_column.csv")

# 提取B列的所有公司名称
b_company_list = df_b["Company"].tolist()

# 定义检查子串的函数
def is_substring(company_name):
    return any(company_name in b_name for b_name in b_company_list)

# 给A列添加结果列
df_a["是否在B列存在"] = df_a["Company"].apply(is_substring)

# 保存结果
df_a.to_csv("匹配结果.csv", index=False)

运行后会生成带结果列的新文件,是否在B列存在列的True/False对应匹配状态。

内容的提问来源于stack exchange,提问作者Gorgonzola45

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 10:10:29