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

如何从字段中筛选仅包含单个部分的名称?

嘿,这个需求很明确——咱们要从Name字段里挑出那些只由单个部分组成的名称,也就是没有空格分隔的条目对吧?结合你给的例子,ANU、KARTHIK这种就符合,带空格的ARUN RAJ、TESNA TITUS LESTU就排除掉。下面我给你几个不同场景下的实现方法,按需选用:

解决方案按场景分类

1. SQL 数据库查询场景

核心思路是判断字段中是否包含空格,不同数据库的函数略有差异:

MySQL/MariaDB

用NOT LIKE匹配无空格的条目,或者用更高效的INSTR函数:

-- 方法1:NOT LIKE
SELECT Name
FROM your_table
WHERE Name NOT LIKE '% %';

-- 方法2:INSTR(返回空格位置,0表示不存在)
SELECT Name
FROM your_table
WHERE INSTR(Name, ' ') = 0;

PostgreSQL

用POSITION函数判断空格是否存在:

SELECT Name
FROM your_table
WHERE POSITION(' ' IN Name) = 0;

SQL Server

用CHARINDEX函数定位空格:

SELECT Name
FROM your_table
WHERE CHARINDEX(' ', Name) = 0;

注:如果字段存在前后空格的情况,建议先加TRIM清洗,比如TRIM(Name) NOT LIKE '% %',避免误判

2. Python 数据处理场景

不管是处理普通列表还是Pandas DataFrame,都可以通过判断空格是否存在来筛选:

处理普通名称列表

names = ["ANU", "ARUN RAJ", "KARTHIK", "TESNA TITUS LESTU"]
single_part_names = [name for name in names if ' ' not in name]
print(single_part_names)  # 输出: ['ANU', 'KARTHIK']

处理Pandas DataFrame

import pandas as pd

df = pd.DataFrame({"Name": ["ANU", "ARUN RAJ", "KARTHIK", "TESNA TITUS LESTU"]})
# 筛选不包含空格的行
df_single_part = df[~df['Name'].str.contains(' ')]
print(df_single_part)

3. Excel 表格处理场景

可以用公式标记或直接筛选:

  • 公式标记法:假设Name列在A列,在B1单元格输入=IF(ISNUMBER(SEARCH(" ",A1)),"排除","保留"),下拉填充后筛选B列的「保留」即可。
  • 直接筛选法:选中Name列 → 点击「数据」→「筛选」→ 列标题下拉箭头 → 「文本筛选」→「不包含」→ 输入空格,确定后就能得到符合条件的名称。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 07:53:49