如何从串 ‘ 中国 +86‘ 中,获取到‘中国’:strip()、split()及正则表达式的使用

业务中有这样一个场景,国家列表中的数据格式是这样: ' 中国 +86' ,其中的 "中国" 前面有3个空格,需要从中提取出 "中国",有哪些方法呢?

方法 1:使用 strip() 和 split()

strip() 方法可以去掉字符串前后的空白字符(包括空格、换行符等),然后可以使用 split() 来分割字符串。

python 复制代码
s = '   中国  +86'
country = s.strip().split()[0]  # 去除前后的空格,再分割并获取第一个部分
print(country)

说明:

strip() 去除字符串前后所有的空白字符(包括空格)。

split() 默认按空格分割字符串,返回一个列表,split()0 获取第一个部分,即 "中国"。

方法 2:使用正则表达式

正则表达式可以灵活地匹配字符串中的目标部分,无论前面是否有空格。

python 复制代码
import re

s = '   中国  +86'
match = re.match(r'^\s*([\u4e00-\u9fa5]+)', s)  # 匹配字符串开始的空格并提取中文部分
if match:
    country = match.group(1)
    print(country)

说明:

正则表达式 r'^\s*(\\u4e00-\\u9fa5+)' 解释:

^\s* 匹配字符串开始部分的零个或多个空格。

(\\u4e00-\\u9fa5+) 匹配连续的中文字符,并将其提取出来。

group(1) 获取第一个括号中匹配的内容,即 "中国"。

【总结】

方法 1:如果你的字符串只是简单的有空格,并且不需要特别复杂的匹配,strip() 和 split() 方法已经足够。

方法 2:如果字符串格式更复杂,或者你希望通过更灵活的方式匹配特定字符,正则表达式是更强大的选择。

相关推荐
奇牙coding1236 分钟前
GPT-6-Astra API 接入教程:OpenRouter 路由配置 + Python/curl 示例 + 静默降级踩坑
开发语言·python·gpt·ai
2601_9622982742 分钟前
Python与Selenium结合的Web自动化测试全流程实践教程
自动化测试·python·selenium·web测试·pageobjectmodel
天衍四九-1 小时前
第一章:从 LLM 到 Agent —— DeepSeek Harness 入门
网络·数据库·人工智能·python
529宝宝起名网1 小时前
用 Python 实现名字寓意评分算法:基于 NLP 语义分析的名字内涵深度评估
python·算法·自然语言处理
2601_962298671 小时前
Python:对象缓存优化机制(CPython)
python·性能优化·内存优化·cpython·对象缓存
枫彩2 小时前
A股数据源怎么选?用 Python 验收 AI 复盘的日期与明细
python·ai agent·股票数据·mcp
2601_962382432 小时前
Python 代码不可不知的函数式编程技术
python·函数式编程·高阶函数·嵌套函数·头等函数
2601_962078032 小时前
Python办公自动化与数据分析实战 培训班2021年
python·数据分析·办公自动化·自动化办公·实战演练
用户938515635073 小时前
Text2SQL 实战:用 DeepSeek 大模型实现自然语言查询 SQLite 数据库
python·sqlite
2601_962099683 小时前
Python环境下中文分词实现与应用探索
python·自然语言处理·中文分词·jieba·开源社区