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

Python中如何将字符串'6\u2009000'正确转换为int类型

ValueError报错的核心原因是字符串中的\u2009属于Unicode窄空格(Thin Space),是特殊的不可见分隔符,不属于int()函数可识别的合法整数字面量组成部分,因此无法直接转换。

解决方案

方法1:通用过滤纯数字字符(适用性最广)

无需提前知道分隔符类型,直接提取所有数字字符后转换:

raw_str = '6\u2009000'
# 只保留字符串中的数字字符
clean_str = ''.join(c for c in raw_str if c.isdigit())
result = int(clean_str)

执行后result的值为6000。

方法2:针对性替换已知特殊空格

如果确认字符串中仅包含\u2009作为多余分隔符,直接定向替换即可:

raw_str = '6\u2009000'
clean_str = raw_str.replace('\u2009', '')
result = int(clean_str)

方法3:兼容所有Unicode类空格分隔符

如果需要适配多种不同的Unicode空白分隔符,可通过字符类别过滤:

import unicodedata
raw_str = '6\u2009000'
# 过滤所有Unicode空格类字符(类别为Zs)
clean_str = ''.join(c for c in raw_str if unicodedata.category(c) != 'Zs')
result = int(clean_str)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 14:15:05