当前位置: 首页 > article >正文

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

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


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

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

说明:
strip() 去除字符串前后所有的空白字符(包括空格)。
split() 默认按空格分割字符串,返回一个列表,split()[0] 获取第一个部分,即 "中国"。

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

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


http://www.kler.cn/a/471743.html

相关文章:

  • 通达信行情接口失效?C# 实现获取五档报价行情 GetSecurityQuotes
  • Ubuntu 安装 Java 1.8
  • Ruby语言的数据库编程
  • 【Uniapp-Vue3】v-bind指令实现图片切换
  • 将 Docker 和 Kubernetes 的存储目录迁移到更大的磁盘分区上
  • transformer深度学习实战CCTSDB中国交通标志识别
  • 游戏语音趋势解析,社交互动有助于营造沉浸式体验
  • 【gRPC】一元拦截器与流式拦截器确保请求附带认证令牌token
  • 自然灾害事件复盘分析的思考框架
  • Flutter使用GestureDetector工具实现手势缩放效果
  • C++二十三种设计模式之工厂方法模式
  • 力扣-数据结构-15【算法学习day.86】
  • 前端如何处理后端传入的复杂数据格式
  • 常见的显示器分辨率及其对应的像素数量
  • 短诗《腊八粥》
  • 【python】Luhn算法验证身份证号码的程序
  • Linux初识——基本指令
  • [Qt] 多元素控件 | 容器类控件 | 布局管理器layout
  • Qt信号槽相关语法
  • MATLAB语言的正则表达式