如何从串 ‘ 中国 +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:如果字符串格式更复杂,或者你希望通过更灵活的方式匹配特定字符,正则表达式是更强大的选择。

相关推荐
努力写A题的小菜鸡6 分钟前
PyTorch 两种卷积写法彻底对比:F.conv2d 函数式 vs nn.Conv2d 类实战(超详细入门笔记)
python
golfscript6 分钟前
Playwright Python:微软出的浏览器自动化库
python·其他·microsoft·自动化
charliedev11 分钟前
Jedi:Python 自动补全与静态分析的实用工具
开发语言·python·其他
装不满的克莱因瓶29 分钟前
自然语言处理中的分词——从语言切分到模型输入的第一步
人工智能·pytorch·python·深度学习·ai·自然语言处理
hnxaoli41 分钟前
统信程序(十二)档案归档文件管理
python
love530love1 小时前
2026年终极防坑指南:基于 EPGF 架构彻底“本地化” UV 环境与工具
人工智能·windows·python·架构·devops·uv·epgf
财经资讯数据_灵砚智能1 小时前
基于全球经济类多源新闻的NLP情感分析与数据可视化(日间)2026年6月12日
人工智能·python·ai·信息可视化·自然语言处理·ai编程·灵砚智能
江华森1 小时前
Python 3 实战教程:从零基础到项目实战
开发语言·python
Wonderful U1 小时前
Python+Django实战|在线音乐分享平台:音乐上传、歌手专辑管理、在线播放、自定义歌单、收藏点赞、评论互动
开发语言·python·django
lzjava20241 小时前
Python的数据结构,推导式、迭代器和生成器
数据结构·windows·python