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

如何统计数据列中各字符串首尾空格(ASCII码32)的数量?

嘿,我来帮你解决这个统计字符串左右侧空格数量的问题!看你提供的是一列结构化数据,我就以Python(尤其是Pandas,毕竟处理列数据它最顺手)为例,给你几种实用的解决方案:

方法一:利用字符串内置方法(高效简洁)

这种方法借助lstrip()和rstrip()去掉左右空格后,通过长度差计算空格数,是最直观高效的方式:

首先先构造你的示例数据:

import pandas as pd

# 模拟你的列数据
data_series = pd.Series([
    'abbb ccc ',
    ' aaa abbb ccc',
    'abbb ccc ',
    ' aaa abbb ccc ',
    ' ccc',
    'aaa abbb'
])

然后计算左右空格数:

# 统计左侧空格数:原字符串长度 - 去掉左侧空格后的长度
data_series['left_spaces'] = data_series.str.len() - data_series.str.lstrip().str.len()

# 统计右侧空格数:原字符串长度 - 去掉右侧空格后的长度
data_series['right_spaces'] = data_series.str.len() - data_series.str.rstrip().str.len()

# 查看结果
print(data_series)

运行后你会得到每个字符串对应的左右空格数,比如第一个字符串'abbb ccc '的右侧空格数是1,第二个' aaa abbb ccc'的左侧空格数是1,完全符合你的需求。

方法二:正则表达式匹配(灵活适配)

如果你需要更灵活的匹配(比如要统计制表符等其他空白字符),正则表达式是更好的选择:

import re
import pandas as pd

data_series = pd.Series([
    'abbb ccc ',
    ' aaa abbb ccc',
    'abbb ccc ',
    ' aaa abbb ccc ',
    ' ccc',
    'aaa abbb'
])

# 匹配开头的所有空白字符,统计长度
data_series['left_spaces_re'] = data_series.apply(lambda x: len(re.match(r'^\s*', x).group()))

# 匹配结尾的所有空白字符,统计长度
data_series['right_spaces_re'] = data_series.apply(lambda x: len(re.search(r'\s*$', x).group()))

print(data_series)

这里的^\s*会匹配字符串开头的任意数量空白字符(包括空格、制表符),\s*$匹配结尾的任意数量空白字符,取匹配结果的长度就是对应的空格数,非常灵活。

如果不用Pandas:纯Python列表处理

要是你只是处理普通的Python列表,也可以用类似的逻辑:

string_list = [
    'abbb ccc ',
    ' aaa abbb ccc',
    'abbb ccc ',
    ' aaa abbb ccc ',
    ' ccc',
    'aaa abbb'
]

# 遍历每个字符串计算空格数
result = []
for s in string_list:
    left_count = len(s) - len(s.lstrip())
    right_count = len(s) - len(s.rstrip())
    result.append({
        'original_string': s,
        'left_spaces': left_count,
        'right_spaces': right_count
    })

# 打印结果
for item in result:
    print(item)

这些方法都能精准统计每个字符串的左右空格数,其中Pandas的矢量化操作适合处理大数据量,正则方法则适配更多复杂场景,你可以根据自己的需求选择~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 10:09:56