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

Python中如何仅拆分一次实现中英文混合字符串分离?

解决Python字符串拆分问题

针对你给出的字符串,这里提供两种可靠的拆分方法:

方法一:正则表达式匹配

利用中文和英文的字符范围差异,通过正则分组捕获两部分内容:

import re

string = '小西 - 杏花 Siu Sai - Heng Fa'
# 匹配中文、空格、连字符组成的第一部分,以及英文、空格、连字符组成的第二部分
match_result = re.match(r'([\u4e00-\u9fa5\s-]+)\s([A-Za-z\s-]+)', string)
if match_result:
    chinese_part = match_result.group(1).strip()
    english_part = match_result.group(2).strip()
    print(chinese_part)  # 输出:小西 - 杏花
    print(english_part)  # 输出:Siu Sai - Heng Fa

方法二:遍历定位分界点

通过遍历字符串找到第一个英文字母的位置,以此确定拆分的分界空格:

string = '小西 - 杏花 Siu Sai - Heng Fa'

split_position = None
for idx, char in enumerate(string):
    # 找到第一个英文字符,其前一个位置就是分界空格
    if char.isascii() and char.isalpha():
        split_position = idx - 1
        break

if split_position is not None:
    chinese_part = string[:split_position].strip()
    english_part = string[split_position+1:].strip()
    print(chinese_part)
    print(english_part)

两种方法都能准确拆分出你需要的两部分内容,其中正则表达式方法更简洁,遍历法则无需依赖正则模块。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 14:24:52