python截取数字函数,python截取字符串中的数字

怎么用python提取一段文本中的数字?

import re

创新互联专注于网站建设|成都网站改版|优化|托管以及网络推广,积累了大量的网站设计与制作经验,为许多企业提供了网站定制设计服务,案例作品覆盖成都户外休闲椅等行业。能根据企业所处的行业与销售的产品,结合品牌形象的塑造,量身设计品质网站。

s = 'MA5:12.56 MA10:12.69 MA20:12.19'

print(re.findall(r'\d+\.\d+', s))

# ['12.56', '12.69', '12.19']

python如何将字符串里有数字和文字怎么提取数字

从字符串“127米”中提取数字127:

方法一、利用正则表达式

用法:

## 总结## ^ 匹配字符串的开始。## $ 匹配字符串的结尾。## \b 匹配一个单词的边界。## \d 匹配任意数字。## \D 匹配任意非数字字符。## x? 匹配一个可选的 x 字符 (换言之,它匹配 1 次或者 0 次 x 字符)。## x* 匹配0次或者多次 x 字符。## x+ 匹配1次或者多次 x 字符。## x{n,m} 匹配 x 字符,至少 n 次,至多 m 次。## (a|b|c) 要么匹配 a,要么匹配 b,要么匹配 c。## (x) 一般情况下表示一个记忆组 (remembered group)。你可以利用 re.search 函数返回对象的 groups() 函数获取它的值。## 正则表达式中的点号通常意味着 “匹配任意单字符”

[plain] view plain copy

import re

string = u'127米'

print re.findall(r"\d+\.?\d*", string)

方法二、利用filter(str.isdigit, iterable)

[plain] view plain copy

string = u'127米'

print (filter(str.isdigit, string))

bug:TypeError: descriptor 'isdigit' requires a 'str' object but received a 'unicode'

原因:string不是str类型

修改为:

[plain] view plain copy

string = u'127米'

string2 = string.encode('gbk')

print (type(str))

print (filter(str.isdigit, string2))

结果:

type 'str'

127

注意:要提取的字符串不能命名为str,否则会出现TypeError: isdigit() takes no arguments (1 given)

因为str和filter里的str重名了。

Python 基本操作- 数据选取loc、iloc、ix函数

loc中的数据是列名,是字符串,所以前后都要取;iloc中数据是int整型,所以是Python默认的前闭后开

构建数据集df

loc函数主要通过行标签索引行数据 ,划重点, 标签!标签!标签!

loc[1] 选择行标签是1的(从0、1、2、3这几个行标签中)

loc[0:1] 和 loc[0,1]的区别,其实最重要的是loc[0:1]和iloc[0:1]

索引某一列数据,loc[:,0:1],还是标签,注意,如果列标签是个字符,比如'a',loc['a']是不行的,必须为loc[:,'a']。

但如果行标签是'a',选取这一行,用loc['a']是可以的。

iloc 主要是通过行号获取行数据,划重点,序号!序号!序号!

iloc[0:1],由于Python默认是前闭后开,所以,这个选择的只有第一行!

如果想用标签索引,如iloc['a'],就会报错,它只支持int型。

ix——结合前两种的混合索引,即可以是行序号,也可以是行标签。

如选择prize10(prize为一个标签)的,即 df.loc[df.prize10]

还有并或等操作

python选取特定列——pandas的iloc和loc以及icol使用

pandas入门——loc与iloc函数

pandas中loc、iloc、ix的区别

pandas基础之按行取数(DataFrame)

python 截取指定字符前后的所有字符的函数

可以参考下面的代码:

#!/usr/bin/python

# encoding: utf-8

# filename: baiduzhidao.py

ln = "4564612131856+654654654654"

print ln.split("+")

#~ Result:

#~ python -u "baiduzhidao.py"

#~ ['4564612131856', '654654654654']

#~ Exit code: 0    Time: 0.052

Python在设计上坚持了清晰划一的风格,这使得Python成为一门易读、易维护,并且被大量用户所欢迎的、用途广泛的语言,设计者开发时总的指导思想是,对于一个特定的问题,只要有一种最好的方法来解决就好了。

Python本身被设计为可扩充的。并非所有的特性和功能都集成到语言核心。Python提供了丰富的API和工具,以便程序员能够轻松地使用C语言、C++、Cython来编写扩充模块。

Python是完全面向对象的语言。函数、模块、数字、字符串都是对象。并且完全支持继承、重载、派生、多继承,有益于增强源代码的复用性。

扩展资料:

python参考函数

vars(obj) 返回一个object的name space。用dictionary表示

locals() 返回一个局部name space,用dictionary表示

globals() 返回一个全局name space,用dictionary表示

type(obj) 查看一个obj的类型

isinstance(obj,cls) 查看obj是不是cls的instance

issubclass(subcls,supcls) 查看subcls是不是supcls的子类

参考资料来源:百度百科-Python (计算机程序设计语言)

python中如何从字符串中提取数字?

1、如下图,要提取#后面的字符,也即红色的“SDK”到B列。

2、首先,在B2中输入公式:

=FIND("#",A2)

返回#在字符串中的位置,#在A2单元格文本中是第6个字符。

3、知识点说明:

FIND()函数查找第一参数在第二参数中的位置。如下图,查找“B”在“ABCD”中是第几个字符。第一参数是要查找的字符“B”,第二参数是被查找的字符串。最终返回“B”在“ABCD”中是第2个字符。

4、然后,在B2中输入公式:

=MID(A2,FIND("#",A2)+1,99)

这样,就提取出了#后的字符。

5、知识点说明:

MID()函数返回从字符串中制定字符开始若干个字符的字符串。如下图,MID()函数返回“ABCDE”字符串中从第2个字符开始的连续3个字符,也就是返回“BCD”。

6、综上,=MID(A2,FIND("#",A2)+1,99)的意思就是从A2单元格#字符后面的一个字符起,取长度为99的字符串。其中的99是一个较大的数字,能涵盖#后字符的最大长度即可。


分享文章:python截取数字函数,python截取字符串中的数字
文章源于:http://myzitong.com/article/heegji.html