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

如何拆分多空格分隔的字符串,保留'GJ 581 g'为单个元素

解决字符串拆分问题

方法1:使用正则表达式拆分

利用正则匹配至少两个连续空格作为分隔符,同时先去除字符串首尾的空白字符,就能保留开头的GJ 581 g作为单个元素:

import re

original_str = " GJ 581 g      3.1     1.36     1.22     1.67     1.51     0.15      278      248"
# 先去除首尾空格,再按至少两个连续空格拆分
result = re.split(r'\s{2,}', original_str.strip())
print(result)
# 输出:['GJ 581 g', '3.1', '1.36', '1.22', '1.67', '1.51', '0.15', '278', '248']

方法2:手动定位分隔位置

先找到第一个连续多空格的位置,将字符串拆分为开头部分和剩余数值部分,再分别处理:

original_str = " GJ 581 g      3.1     1.36     1.22     1.67     1.51     0.15      278      248"
# 定位第一个连续两个空格的位置
split_pos = original_str.find('  ')
# 提取开头部分并去除多余空格
first_item = original_str[:split_pos].strip()
# 剩余部分按任意空格拆分
rest_items = original_str[split_pos:].split()
# 合并结果
result = [first_item] + rest_items
print(result)
# 输出:['GJ 581 g', '3.1', '1.36', '1.22', '1.67', '1.51', '0.15', '278', '248']

方法3:针对固定格式的合并(仅适用于第一个元素固定为3个单词的场景)

如果确定开头的目标元素永远是前3个单词,可以先拆分所有元素,再合并前3个:

original_str = " GJ 581 g      3.1     1.36     1.22     1.67     1.51     0.15      278      248"
all_parts = original_str.split()
# 合并前3个元素,保留后面的所有元素
result = [' '.join(all_parts[:3])] + all_parts[3:]
print(result)
# 输出:['GJ 581 g', '3.1', '1.36', '1.22', '1.67', '1.51', '0.15', '278', '248']

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.04 03:00:13