python 怎么取出字符串中的数字子串?
我现在有一个字符串str="发表于:2013-06-04",我想取出这里面的时间。str1="-".join(list(filter(str.isdigit,str)))...
我现在有一个字符串str="发表于:2013-06-04",我想取出这里面的时间。
str1="-".join(list(filter(str.isdigit,str)))
但是这样写有错误:TypeError: isdigit() takes no arguments (1 given)
不知道为什么出错?
或者有没有什么别的方法? 展开
str1="-".join(list(filter(str.isdigit,str)))
但是这样写有错误:TypeError: isdigit() takes no arguments (1 given)
不知道为什么出错?
或者有没有什么别的方法? 展开
5个回答
展开全部
没分..很简单 (python2.7)
s = "发表于:2013-06-04"
# 我猜你的方法是
filter(str.isalnum,s)
# result '20130604'
s = "发表于:2013-06-04"
# 我猜你的方法是
filter(str.isalnum,s)
# result '20130604'
更多追问追答
追问
谢谢你,我按照你的例子写的,还是有错误:TypeError: isalnum() takes no arguments (1 given)
追答
和我这是一摸一样吗?
s = "发表于:2013-06-04" # 这个变量名一定不能是str
filter(str.isalnum,s) # 这个str.isalnum,一定要是str,后面是s
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
要提取时间的话,用正则表达式吧
更多追问追答
追问
我想把2013-06-04匹配出来,不知道正则怎么写啊
追答
考虑最简单的情况:
>>> import re
>>> s="发表于:2013-06-04"
>>> p=re.findall(r"\d\d\d\d-\d\d-\d\d",s)
>>> p
['2013-06-04']
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
使用正则表达式,过滤
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我猜你是爬虫爬取到的吧,用分割比较方便,用split分割:,就可以了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#!/usr/bin/env python
# -*- coding: utf-8 -*-
str="发表于:2013-06-04"
import re
print re.search(r'\d{4}-\d{2}-\d{2}', str).group(0)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询