问下Python用for循环怎么将字符串中的所有数字提取出来?(不用正则表达式)

作者&投稿:木怜 (若有异议请与网页底部的电邮联系)
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是一个较大的数字,能涵盖#后字符的最大长度即可。

从字符串“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))
结果:127
注意:要提取的字符串不能命名为str,否则会出现TypeError: isdigit() takes no arguments (1 given)
因为str和filter里的str重名了。

str1 = 'abc123efg456'
for i in str1:
if i.isdigit() == True:
print(i)
isdigit()函数判断一个字符是否为数字



re.findall(r'\d+', str)
一行语句就可以搞定,为什么不用正则表达式呢?有什么必须的理由吗?


python中如何使用科学计数法表示数字
sci_num = f"{num:.4e}"print(sci_num)输出结果:3.1416e+00 这两种方式的结果是相同的,都是科学计数法表示的数字,且保留了四位小数。使用哪种方式,取决于具体的使用场景和个人习惯。Python作为一个高级编程语言,提供了灵活的数值表示和格式化功能,以满足不同的数值计算和数据分析需求。科学...

python求1到10的平方和编程用循环
在 Python 中,求 1~10 的平方和可以使用循环来实现,常见的循环有 for 循环和 while 循环。下面分别介绍这两种循环的实现方法。1. for 循环实现:```result = 0 for i in range(1, 11):result += i ** 2 print("1~10 的平方和为:", result)```在上面的代码中,我们使用了 for ...

python对文件的独操作有哪几种?请详细说明每种方法
0:(默认模式) 指针在文件开头,只有在 0 模式可以在 t 模式下用,也可以在 b 模式下用,而 1 ,2 模式只能在 b 模式下使用 1:指针在当前位置 2:指针在文件末尾 以下为具体事例:0 with open('a.txt',mode='rt',encoding='utf-8')as f:f.seek(3,0)print(f.tell()) # 指针当前位置 ...

6.2f是什么意思?
6.2f是一种Python中的格式化输出方式,其中6表示输出的总字符宽度,.2f指输出的浮点数保留2位小数。例如,输入代码print("结果为:{:.2f}".format(1415926)),输出结果为“结果为:14”。6.2f的意思就是将浮点数进行四舍五入,保留小数点后两位,输出结果所占用的字符宽度为6。在实际...

python2安装在F怎么样环境变量
修改我的电脑、属性、高级、环境变量、系统变量中的PATH。在使用python的过程中,可能需要经常查看某个命令的帮助文档,如使用help查看print命令的使用说明。默认安装的python无法查看帮助文档,尚需进行简单的配置。环境变量是在操作系统中一个具有特定名字的对象,它包含了一个或者多个应用程序所将使用到的...

如何用python保留两位小数?
如何用Python保留两位小数?在Python中,可以使用内置的格式化方法保留小数位数。以下是一些常用的方法:答案:1. 使用字符串格式化方法 `.format`,例如 `result = "{:.2f}".format`。2. 使用 f-string,在Python 3.6及更高版本中可用,如 `result = f"{your_number:.2f}"`。3. 使用Decimal...

python中%代表什么
在数学中,百分号也可以表示模运算操作符。在Python中,使用百分号运算符进行模运算,得到两个数相除的余数。需要注意的是,Python中还有一种更现代化的字符串格式化方法,使用f—string(在Python3.6及更高版本中可用)。它使用大括号({})来指定要格式化的变量,并在前面加上字母“f”。python的优势...

python r = f(i) 这个怎么理解 f() 为f()函数 f(1) 是指f函数中1参数...
def f(j) 里面的j实际上是个形参,调用的时候可以被任何实参给赋值,r = f(i)其实就是在这个循环里调用f()这个函数,其实等价与for i in range(1,4): r = i*i,而函数 f(1)返回的就是1*1。

python3用read()函数读取文件两次,就变成空字符串了
python在读取文件的时候是根据光标位置来读取的。读一行以后光标位置到了下一行。再来个read又到了下一行。想要重新从头开始读的话用f.seek(0)将光标位置放到最前面。这样再f.read()就是第一行的内容 还有个方法是f.tell()告诉你当前光标的位置。你可以把文件都读完了以后f.tell()一下看看光标位置...

计算机编程里面print加f作用是什么?
print(f" ") 主要作用就是格式化字符串,加上f以后,{“变量\/表达式”},花括号里的变量和表达式就可以使用了

望谟县17575738383: python中for循环怎么用 -
佘饲养阴: 1. for 循环介绍复制代码代码如下:>>> li = ['a', 'b', 'e'] >>> for s in li: (1) ... print s (2) ae >>> print "\n".join(li) (3) ae(1) for 循环的语法同 list 解析相似.li 是一个 list,而 s 将从第一个元素开始依次接收每个元素的值. (2) 像 if 语句或其它任意...

望谟县17575738383: Python中for语句是怎么用的 -
佘饲养阴: Python for循环可以遍历任何序列的项目,如一个列表或者一个字符串. 语法: for循环的语法格式如下: for iterating_var in sequence: statements(s)流程图: 实例: 实例 #!/usr/bin/python# -*- coding: UTF-8 -*-for letter in 'Python': # 第一...

望谟县17575738383: 求解python如何通过for循环将字符串的值放 -
佘饲养阴: 一个例子供参考 以下代码调试通过: s = 0m = 0for i in range(0, 100): s = s + 1 m = m + sprint('\n', m)

望谟县17575738383: python for 语句怎么写 -
佘饲养阴: Python for循环控制语句一般格式及方法 for循环语句是python中的一个循环控制语句,任何有序的序列对象内的元素都可以遍历,比如字符串、列表List、元组等可迭代对像.之前讲过的if语句虽然和for语句用法不同,但可以用在for语句下做条件...

望谟县17575738383: python for循环具体步骤 -
佘饲养阴: for letter in "hello, world":依次取出 "hello, world"中的每个字符,赋值给letter然后执行循环中的语句,共执行len( "hello, world")次

望谟县17575738383: python中for循环怎么写 -
佘饲养阴: 我们展开生成list3的表达式,变成标准的for循环: list3 = []for name in list2: for slogan in list1: if slogan[0] == name[0]: list3.append(name + ':' + slogan[2:])这样就可以看得很清楚了. name变量和slogan变量都是字符串,各自遍历li...

望谟县17575738383: 如何用python 中的for 循环 实现加法 -
佘饲养阴: 用Python的for循环实现等差序列相加,例如(1+2+3+4+5+...+20)这样的算法,代码如下:1 2 3 4 5 6 7 8import math temp = 0 for x in range(1,20):temp += xbreakelse:print temp#输入结果:210

望谟县17575738383: 如何在python 的shell里运行for循环并且执行? -
佘饲养阴: 就拿你这题来说吧,trainMat......这行和上行for循环空两个,而不是对齐,for循环体都是这样的,如果你用python集成开发环境(如Pycharm)是帮你自动对齐的,你按照这么写,直到for循环写完,然后按两次回车Enter,就可以执行for循环了.

望谟县17575738383: python中for循环怎么对字符串进行循环 -
佘饲养阴: str1="" str_list=[] for i in range(5): n=input("please enter the number:") str1+=str(n) str_list.append(str(n)) print str1 print str_list

望谟县17575738383: Python中for循环 -
佘饲养阴: 我也是初学,说下我的理解 第一个for循环开始,x=0 开始执行第二个for循环,y分别赋值0,1,2,下面的代码块执行三次,把(0,0) 、(0,1)、(0,2)依次加入列表result末尾,同时把result打印三次, 继续执行第一个for循环,x=1 …… 其实如果最后...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网