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

相关推荐
kali-Myon7 小时前
2025春秋杯网络安全联赛冬季赛-day3
python·安全·web安全·ai·php·web·ctf
AbsoluteLogic8 小时前
Python——彻底明白Super() 该如何使用
python
小猪咪piggy8 小时前
【Python】(4) 列表和元组
开发语言·python
墨理学AI8 小时前
一文学会一点python数据分析-小白原地进阶(mysql 安装 - mysql - python 数据分析 - 学习阶段梳理)
python·mysql·数据分析
数研小生8 小时前
亚马逊商品列表API详解
前端·数据库·python·pandas
独好紫罗兰8 小时前
对python的再认识-基于数据结构进行-a005-元组-CRUD
开发语言·数据结构·python
jianghua0018 小时前
Python中的简单爬虫
爬虫·python·信息可视化
喵手8 小时前
Python爬虫实战:针对Python官网,精准提取出每一个历史版本的版本号、发布日期以及对应的文档/详情页链接等信息,并最终清洗为标准化的CSV文件!
爬虫·python·爬虫实战·零基础python爬虫教学·python官方数据采集·采集历史版本版本号等信息·导出csv文件
databook9 小时前
像搭积木一样思考:数据科学中的“自下而上”之道
python·数据挖掘·数据分析
luoluoal9 小时前
基于python的医疗问句中的实体识别算法的研究(源码+文档)
python·mysql·django·毕业设计·源码