python 提取字符串中的指定字符 正则表达式
例1:
字符串: '湖南省长沙市岳麓区麓山南路麓山门'
提取:湖南,长沙
在不用正则表达式的情况下:
address = '湖南省长沙市岳麓区麓山南路麓山门'
address1 = address.split('省') # 用“省”字划分字符串,返回一个列表
address2 = address1[1].split('市') # 用“市”字划分address1列表的第二个元素,返回一个列表
print(address1) # 输出 ['湖南', '长沙市岳麓区麓山南路麓山门']
print(address2) # 输出 ['长沙', '岳麓区麓山南路麓山门']
data = {
'省份': address1[0],
'城市': address2[0]
}
print(data) # 输出 {'省份': '湖南', '城市': '长沙'}
输出结果:

例二:
从一段文字中提取指定两段字符中间的字符
字符串 = ‘’师资力量学校现有教职工近4000余人,其中专任教师1800余人,教授、副教授1100余人,中国科学院院士3名,中国工程院院士3名,双聘两院院士2名,加拿大工程院院士1名,发展中国家科学院院士1名,“千人计划”53人,“万人计划”学者13人、“长江学者”15人,国家杰出青年基金获得者21人,国务院学位委员会学科评议组成员6人,入选国家百千万人才工程(“百千万人才工程”一二层次人选、新世纪百千万人才工程国家级人选)23人、国家创新人才推进计划中青年创新领军人才2人,教育部新世纪优秀人才支持计划入选者134人,湖南省“百人计划”学者64人,湖南省“芙蓉学者奖励计划”特聘教授、讲座教授17人,享受政府特殊津贴专家201人,国家教学名师4人,国家自然科学基金创新研究群体3个,教育部“长江学者与创新团队发展计划”创新团队8个,湖南省自然科学基金创新研究群体11个。(数据截止日期:2017年01月) [31] “
指定两段字符:“长江学者”与“人”,
目标字符:中间的数字“15”
正则式:
- (.+?) 惰性匹配
- \d+ 匹配多个数字
import re s = "师资力量学校现有教职工近4000余人,其中专任教师1800余人,教授、副教授1100余人,中国科学院院士3名,中国工程院院士3名," \
"双聘两院院士2名,加拿大工程院院士1名,发展中国家科学院院士1名,“千人计划”53人,“万人计划”学者13人、“长江学者”15人," \
"国家杰出青年基金获得者21人,国务院学位委员会学科评议组成员6人,入选国家百千万人才工程(“百千万人才工程”一二层次人选、" \
"新世纪百千万人才工程国家级人选)23人、国家创新人才推进计划中青年创新领军人才2人,教育部新世纪优秀人才支持计划入选者134人," \
"湖南省“百人计划”学者64人,湖南省“芙蓉学者奖励计划”特聘教授、讲座教授17人,享受政府特殊津贴专家201人,国家教学名师4人," \
"国家自然科学基金创新研究群体3个,教育部“长江学者与创新团队发展计划”创新团队8个,湖南省自然科学基金创新研究群体11个" \
"。(数据截止日期:2017年01月) [31] " # 由于字符串过长,在编译器中会要求换行,字符“\”为换行后自动添加的,不影响字符串本身 n = re.findall(r"长江学者(.+?)人", s) # 正则表达式匹配长江学者人数 提取“长江学者”和其后的“人”之间的字符,返回一个列表
print(n)
num = re.findall('\d+', str(n)) # 正则表达式提取数字,返回一个列表
print(num)
num = '长江学者:'+num[0]+'人' # 重新构建一个字符串
print(num)
运行结果:

python 提取字符串中的指定字符 正则表达式的更多相关文章
- C++ 删除一个字符串中的指定字符
Q:一个数字是以xxx,yyy,zzz的字符串形式存储的,将逗号消去并转化为整数输出 方法一:char数组,即定义时s1定义为 char s1[20]的形式: //删除输入字符串中的逗号,并构建新串 ...
- Day_09【常用API】扩展案例3_删除源字符串中的指定字符,并计算指定字符出现的次数
分析以下需求,并用代码实现 1.键盘录入一个源字符串由字符串变量scrStr接收 2.键盘录入一个要删除的字符串由字符串变量delStr接收 3.要求 删除该字scrStr符串中的所有delStr字符 ...
- Python统计字符串中的中英文字符、数字空格,特殊字符
# -*- coding:utf8 -*- import string from collections import namedtuple def str_count(s): '''找出字符串中的中 ...
- oracle去掉字符串中所有指定字符
Select Replace(字段名,'指定字符','替换字符') From 表名 --例: select replace('de.5d','.','') from dual --显示结果:de5d ...
- python 提取字符串中的数字组成新的字符串
方法一 # 有一个字符串text = "aAsmr3idd4bgs7Dlsf9eAF" # 请将text字符串中的数字取出,并输出成一个新的字符串 import re text = ...
- PAT 10-1 在字符串中查找指定字符
百度了一下另外两位同学的做法,都是先判断是否匹配,然后再用一个for()循环输出,我当然也是先判断,然后,就直接puts(),还是巧妙一点,题设要求及代码实现如下 /* Name: Copyright ...
- python 将字符串中的unicode字符码转换成字符
将字符串str =’\u98ce\u534e\u7684\u51b2\u950b'转换成汉字显示 可以直接print输出 print u'\u98ce\u534e\u7684\u51b2\u950b' ...
- js replace(a,b)之替换字符串中所有指定字符的方法
var str = 'abcadeacf'; var str1 = str.replace('a', 'o'); alert(str1); // 打印结果: obcadeacf var str2 = ...
- Objective-c: 移除字符串中的指定字符
string = [[string componentsSeparatedByCharactersInSet:[NSCharacterSet characterSetWithCharactersInS ...
随机推荐
- Python day 02
基础&运算符 今日概要 循环 字符串格式化 运算符 编码 内容回顾 & 补充 内容回顾 计算机基础 解释器python 2 和 python 3 语法 print input if / ...
- 单元测试系列之五:Mock工具之Mockito实战
更多原创测试技术文章同步更新到微信公众号 :三国测,敬请扫码关注个人的微信号,感谢! 原文链接:http://www.cnblogs.com/zishi/p/6780719.html 在实际项目中写单 ...
- Linux 搭建DNS
Linux 搭建DNS 使用yum源安装 yum -y install bind* 修改主配置文件 [root@localhost ~]# cp /etc/named.conf /etc/named. ...
- MySQL自定义函数递归查询
用于递归查找Id(通过parentId关联)参数为int 类型的值: CREATE DEFINER=`root`@`%` FUNCTION `getChildList`(rootId INT) RET ...
- Date中before和after方法的使用
Date1.after(Date2),当Date1大于Date2时,返回TRUE,当小于等于时,返回false: Date1.before(Date2),当Date1小于Date2时,返回TRUE,当 ...
- vue-router 中踏过的坑
1.做完页面滚动,然后再加上路由,发现路由一直跳转不了,经历千辛万苦才发现是BScroll没有配置click:true,当看过文档时心里一万只草泥马奔腾而过,我预感到成长道路上还有多少坑在等着我. 2 ...
- Java中的集合类,集合类有哪些,如何增添删除元素,如何遍历
http://www.cnblogs.com/LittleHann/p/3690187.html import java.util.*; public class TestCollection { p ...
- 20175317 MyCP(课下作业,必做)
一.题目要求 编写MyCP.java 实现类似Linux下cp XXX1 XXX2的功能,要求MyCP支持两个参数: java MyCP -tx XXX1.txt XXX2.bin 用来把文本文件(内 ...
- shell脚本中gsub的应用
(1)文件filename的内容 cat awk_file 1 2 3 $1,200.00 1 2 3 $2,300.00 1 2 3 $4,000.00 (2)去掉第四列的$和,并汇总第四列的和 a ...
- 《SQL 基础教程》第八章:SQL 高级处理
本章分为两个部分: 窗口函数 GROUPING 运算符 它们用于以「窗口」为单位的排序.计算总和等任务. OLAP 函数 OLAP 定义:OLAP 是 OnLIne Analytical Proces ...