栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

给定字符串提取姓名(字符串、list、re“零宽断言”)

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

给定字符串提取姓名(字符串、list、re“零宽断言”)


Python 官网: https://www.python.org/
  这里,才 python 前沿。可惜是英文原版。所以,我要练习英文阅读。類類

  • 我的CSDN主页
  • My Python 学习个人备忘录
  • 我的HOT
  • 老齐教室

  自学并不是什么神秘的东西,一个人一辈子自学的时间总是比在学校学习的时间长,没有老师的时候总是比有老师的时候多。

            —— 华罗庚


笔记:个人信息提取(字符串)

  1. 练习题目
  2. 中英文姓名提取
  3. 代码运行效果
  4. 完整代码
  5. 骚包的中文字符提取操作(不用 re ,用 in 也完成了本博文题目。)

  不练不知道,一炼“嘿一跳”
  看似简单的问题,也是有“难点”的。

  这个“小练笔”,差点儿没搞死我,居然调试了近一小时。
  最后才用“零宽断言”和 for 嵌套搞定。

题目来源:

《从给定字符串中提取姓名》
https://blog.csdn.net/weixin_30567471/article/details/98618745


回首页

中英文姓名提取代码

  通过对包含中英文姓名的字符分析,发现字符串结构中,中文名都在一个半角空格接字母之前,英文名都在一个半角空格前是数字或中文字符。可以用零宽断言:中文名,半角空格和字符(w,不含标点和空格)之前的字符(w);英文名,半角空格和字符(w)之后的字符串。
name_C = re.findall(r"(w+)(?=sw+)", j) # 零宽断言提取前面的中文姓名。
name_E = re.findall(r"(?<=[w+]s)(w+)", j) # 零宽断言提取后面的英文姓名。

回首页

运行效果


回首页

完整 Python 代码
  我的解题思路,已融入代码注释,博文中就不再赘述。

(如果从语句注释不能清楚作用,请评论区留言指教和探讨。欄)

#!/sur/bin/env python
# coding: utf-8

'''

filename: /sdcard/qpython/tem.py

梦幻精灵_cq的炼码场


'''


from mypythontools import color, wait, cut_line # 从自码工具模块加载需用代码模块中要使用的函数。
import re


names = ["张敏15 zhangmin15 ()", "杨丹丹 yangdandan (99999)", "钱凤 qianfeng (84567)", "柏宁宁 bainingning (99999), 滕玥3 tengyue3 ()"]

for i in names: # 遍历提取。
    for j in i.split(','): # 鉴于最后列表元素是两个英文逗号分隔的名字,for嵌套用','分词。
        name_C = re.findall(r"(w+)(?=sw+)", j) # 零宽断言提取前面的中文姓名。
        name_E = re.findall(r"(?<=[w+]s)(w+)", j) # 零宽断言提取后面的英文姓名。
        print(f"{cut_line()}{'':>2}输入字符串:“{j}”
{cut_line()}nn{'提取姓名:':>12}
nn{'中文:':>18}{name_C[0]}nn
{'英文:':>18}{name_E[0]}n{cut_line()}")


wait() 

回首页

上一篇: 个人信息提取(字符串)

下一篇: 骚包的中文字符提取操作(字符串,不用 re ,用 in )


我的HOT博:
  • 用 pandas 解一道小题(1913阅读)
  • 可迭代对象和四个函数(1041阅读)
  • “快乐数”判断(1200阅读)
  • 罗马数字转换器(构造元素取模)(1894阅读)
  • 罗马数字(转换器|罗生成器)(2526阅读)
  • Hot:让QQ群昵称色变的代码(15517阅读)
  • 斐波那契数列(递归| for )(3206阅读)
  • 柱状图中最大矩形(1623阅读)
  • 排序数组元素的重复起止(1215阅读)
  • 电话拨号键盘字母组合(1272阅读)
  • 密码强度检测器(172阅读)
  • 求列表平衡点(1786阅读)
  • Hot: 字符串统计(3444阅读)
  • Hot:尼姆游戏(聪明版首发)(3321阅读)尼姆游戏(优化版)(894阅读)
推荐条件 点阅破千

回首页


精品文章:
  • 好文力荐:《python 完全自学教程》齐伟书稿免费连载
  • OPP三大特性:封装中的property
  • 通过内置对象理解python'
  • 正则表达式
  • python中“*”的作用
  • Python 完全自学手册
  • 海象运算符
  • Python中的 `!=`与`is not`不同
  • 学习编程的正确方法

来源:老齐教室


回首页

Python 入门指南【Python 3.6.3】
好文力荐:
  • 【8大编程语言的适用领域】先别着急选语言学编程,先看它们能干嘛
  • 靠谱程序员的好习惯

CSDN实用技巧博文:
  • 8个好用到爆的Python实用技巧
  • python忽略警告

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/822108.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号