免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2677 | 回复: 5
打印 上一主题 下一主题

问个取字符串的问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-03-31 22:05 |只看该作者 |倒序浏览
比如有个字符串
fdsafsfsfdsf<abcde>jklhgrewtnvijwnfw

至取尖括号之间的内容,即abcde

请给出方法
最好是 用正则表达 和 不用正则的 格一种

论坛徽章:
0
2 [报告]
发表于 2008-03-31 22:44 |只看该作者

回复 #1 wangyouqi 的帖子

import re

pattern = '.*<(.*)>.*'

str = 'fdsafsfsfdsf<abcde>jklhgrewtnvijwnfw'

print re.search( pattern , str ).group( 1 )

print str[ str.find('<')+1 : str.find('>') ]

论坛徽章:
0
3 [报告]
发表于 2008-04-01 09:32 |只看该作者
多谢楼上  简单明了的说

论坛徽章:
0
4 [报告]
发表于 2008-04-06 08:33 |只看该作者
p= '.*<(.*)>.*'如果是匹配<b>標題</b>hhe<i>標題2</i>
會匹配b>標題</b>hhe<i>標題2</i

最好是用p='.*<([^>]+)>.*'(設置成非貪婪模式用'.*<(.*)>.*'也可以) 一般是用在匹配html上把

而且要注意要設置成單行模式

论坛徽章:
0
5 [报告]
发表于 2012-02-12 21:14 |只看该作者
  1. import re

  2. pattern = "<(.*?)>"
  3. str = "fdsafsfsfdsf<abcde>jklhgrewtnvijwnfw"
  4. strList = re.findall(pattern, str)
  5. for value in strList:
  6.     print value
复制代码

论坛徽章:
0
6 [报告]
发表于 2012-02-13 22:56 |只看该作者
  1. >>> s = 'fdsafsfsfdsf<abcde>jklhgrewtnvijwnfw'
  2. >>> m = re.compile(r'<(\w*)>')
  3. >>> print m.findall(s)
复制代码
  1. >>> s.split('<')[1].split('>')[0]
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP