精华内容
下载资源
问答
  • 从一串字符中提取数字
    万次阅读
    2021-05-25 23:05:50

    方法:re.findall()

    使用正则表达式,直接上代码!!!

    # 导入正则表达式模块
    import re
    
    # 含有数字的字符串(可以看到有小数和整数)
    string = "#$1.23,zimu3,520.1314, 300"
    
    # 获取所有数字
    print(re.findall(r"\d+",string))
    
    # 获取所有数值(包含小数一起识别匹配)
    print(re.findall(r"\d+\.?\d*",string))

    数字输出结果:['1', '23', '3', '520', '1314', '300']

    数值输出结果:['1.23', '3', '520.1314', '300']


    以上就是全部内容,希望能帮到您,如有错误,还请指正,如果觉得对您确实有帮助,卑微求个三连,谢谢!!! 

    更多相关内容
  • python从字符串中提取数字 使用正则表达式,用法如下: ## 总结 ## ^ 匹配字符串的开始。 ## $ 匹配字符串的结尾。 ## \b 匹配个单词的边界。 ## \d 匹配任意数字。 ## \D 匹配任意非数字字符。 ## x? 匹配个可...
  • <!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN” ...<head><... charset=gb2312″ /><...js实现在字符串中提取数字</title><script language=”javascript” ty
  • 数字从字符串中提取,源码 已运行无错,可直接使用
  • 因工作原因,很久没有学习python知识了,感觉都快忘记了,前天看到个练习题,如何将字符串中数字提取出来,然后求和呢?下面我来解释一下如何通过python代码来实现。 题目:字符串43…3y2.f67se2.666. 将其中的...
  • 主要介绍了Mysql实现提取字符串中数字的自定义函数分享,通常这种问题是在编程语言实现,本文使用自定义SQL函数实现,需要的朋友可以参考下
  • python从字符串中提取数字

    千次阅读 2021-08-31 18:18:54
    python从字符串中提取数字 使用正则表达式,用法如下: ## 总结 ## ^ 匹配字符串的开始。 ## $ 匹配字符串的结尾。 ## \b 匹配个单词的边界。 ## \d 匹配任意数字。 ## \D 匹配任意非数字字符。 ## x? 匹配个...

    python从字符串中提取数字

    使用正则表达式,用法如下:
    ## 总结
    ## ^ 匹配字符串的开始。
    ## $ 匹配字符串的结尾。
    ## \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() 函数获取它的值。
    ## 正则表达式中的点号通常意味着 “匹配任意单字符”
    
    解题思路:
    1. 既然是提取数字,那么数字的形式一般是:整数,小数,整数加小数;
    2. 所以一般是形如:----.-----
    3. 根据上述正则表达式的含义,可写出如下的表达式:"\d+\.?\d*";
    4. \d+匹配1次或者多次数字,注意这里不要写成*,因为即便是小数,小数点之前也得有一个数字;\.?这个是匹配小数点的,可能有,也可能没有;\d*这个是匹配小数点之后的数字的,所以是0个或者多个;
    代码如下:
    import re
    

    string="A1.45,b5,6.45,8.82"
    print re.findall(r"\d+.?\d*",string)

    ['1.45', '5', '6.45', '8.82']

    匹配指定字符串开头的数字

    例如下面的string:

    tensorflow:Final best valid 0 loss=0.20478513836860657 norm_loss=0.767241849151384 roc=0.8262403011322021 pr=0.39401692152023315 calibration=0.9863265752792358 rate=0.0

    提取 calibration=0.9863265752792358 .

    # 匹配“calibration=”后面的数字
    pattern = re.compile(r'(?<=calibration=)\d+\.?\d*')
    pattern.findall(string)
    

    ['0.9863265752792358']

    在这里插入图片描述

    匹配包含指定字符串开头的数字

    pattern = re.compile(r'(?:loss=)\d+\.?\d*')
    pattern.findall(string)
    

    ['loss=0.20478513836860657', 'loss=0.767241849151384']

    在这里插入图片描述

    匹配时间,17:35:24

    string = "WARNING:tensorflow: 20181011 15:28:39 Initialize training"
    pattern = re.compile(r'\d{2}:\d{2}:\d{2}')
    pattern.findall(string)
    

    ['15:28:39']

    匹配时间,20181011 15:28:39

    string = "WARNING:tensorflow: 20181011 15:28:39 Initialize training"
    pattern = re.compile(r'\d{4}\d{2}\d{2}\s\d{2}:\d{2}:\d{2}')
    pattern.findall(string)
    

    ['20181011 15:28:39']

    展开全文
  • VBA示例之 从字符串提取数字,供初学者参考,大牛勿进~~~~~~~
  • python环境下从字符串中提取数字

    千次阅读 2020-01-09 23:06:05
    在实际编程应用,经常需要从一堆文字中提取数值。笔者在爬虫应用就遇到了这个问题,现找到两种解决方案,供参考!

    标题:python环境下从字符串中提取数字

    在实际编程应用中,经常需要从一堆文字中提取数值。笔者在爬虫应用中就遇到了这个问题,现找到两种解决方案,供参考!

    一些环境准备类的话就不多说了,直接上代码!

    将需要的一段文字以字符串的格式赋值给一个变量(string)。

    方法一:

    string = "轻型车:共有198家企业4747个车型(12305个信息公开编号)15498915辆车进行了轻型车国六环保信息公开与上周汇总环比增加105个车型、386379辆车。其中,国内生产企业177家、4217个车型、14645390辆,国外生产企业21家、530个车型、853525辆;轻型汽油"  # 字符串赋值
    num_list = [i for i in string if str.isdigit(i)]  # Python isdigit() 方法检测字符串是否只由数字组成。返回True or False.
    print(num_list)
    

    打印出来的结果为
    [‘1’, ‘9’, ‘8’, ‘4’, ‘7’, ‘4’, ‘7’, ‘1’, ‘2’, ‘3’, ‘0’, ‘5’, ‘1’, ‘5’, ‘4’, ‘9’, ‘8’, ‘9’, ‘1’, ‘5’, ‘1’, ‘0’, ‘5’, ‘3’, ‘8’, ‘6’, ‘3’, ‘7’, ‘9’, ‘1’, ‘7’, ‘7’, ‘4’, ‘2’, ‘1’, ‘7’, ‘1’, ‘4’, ‘6’, ‘4’, ‘5’, ‘3’, ‘9’, ‘0’, ‘2’, ‘1’, ‘5’, ‘3’, ‘0’, ‘8’, ‘5’, ‘3’, ‘5’, ‘2’, ‘5’]。我们发现,数字提取出来了,但是把原来的数值拆分成单个数字。并且仍以字符的格式保存为列表元素。那么有没有能够真实/完整的方法提取字符串中的数值呢?

    方法二:

    string = "轻型车:共有198家企业4747个车型(12305个信息公开编号)15498915辆车进行了轻型车国六环保信息公开与上周汇总环比增加105个车型、386379辆车。其中,国内生产企业177家、4217个车型、14645390辆,国外生产企业21家、530个车型、853525辆;轻型汽油"  # 字符串赋值
    num_list_new = []   # 新建空列表,用以存储提取的数值
    a = ''   # 将空值赋值给a
    for i in string:    # 将字符串进行遍历
        if str.isdigit(i):    # 判断i是否为数字,如果“是”返回True,“不是”返回False
            a += i   # 如果i是数字格式,将i以字符串格式加到a上
        else:
            a += " "  # 如果i不是数字格式,将“ ”(空格)加到a上
    # 遍历后,a的值为:
    #       198   4747    12305        15498915                          105    386379            #177  4217    14645390        21  530    853525  
    #数字与数字之间存在许多空格,所以需要对字符串a按''进行分割。
    num_list = a.split(" ")  # 按''进行分割,此时a由字符串格式编程列表
    print("num_list is \n", num_list)  
    # 分割后,a的值为:['', '', '', '', '', '', '198', '', '', '4747', '', '', '', '12305', '', '', '', '', '', '', '', '15498915', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '105', '', '', '', '386379', '', '', '', '', '', '', '', '', '', '', '', '177', '', '4217', '', '', '', '14645390', '', '', '', '', '', '', '', '21', '', '530', '', '', '', '853525', '', '', '', '', '', '']。应该去掉空格,并将字符串格式的数字转化为int格式(主要是字符串中的数字皆为整数,如果有小数,应转化为float格式)。
    for i in num_list:  # 对列表a,进行遍历
        try:  # try 结构体,防止出错后直接退出程序
            if int(i) > 0:
                num_list_new.append(int(i))  # 如果列表a的元素为数字,则赋值给num_list_new
            else:
                pass     # 如果不是数字,pass
        except:
            pass
    print("num_list is \n", num_list_new)
    #打印出的结果[198, 4747, 12305, 15498915, 105, 386379, 177, 4217, 14645390, 21, 530, 853525]。是我们需要的数字。
    print("len(num_list_new)", len(num_list_new))  # 作为验证,可以数一下列表元素个数
    #打印结果为:12
    

    方法三:

    涉及字段提取,怎么可以忘记正则表达式!但需要引入re(正则表达式)模块。

    import re
    string = "轻型车:共有198家企业4747个车型(12305个信息公开编号)15498915辆车进行了轻型车国六环保信息公开,与上周汇总环比增加105个车型、386379辆车。其中,国内生产企业177家、4217个车型、14645390辆,国外生产企业21家、530个车型、853525辆;轻型汽油"
    a = []
    a = re.findall("\d+\.?\d*", string)  # 正则表达式
    print(a)
    # 打印结果:['198', '4747', '12305', '15498915', '105', '386379', '177', '4217', '14645390', '21', '530', '853525']
    #for i in range(len(a)):  # 列表a元素转化为int格式
    #    a[i] = int(a[i])
    a = list(map(int,a))  #可以替代上面两行代码
    print(a)
    # 打印结果[198, 4747, 12305, 15498915, 105, 386379, 177, 4217, 14645390, 21, 530, 853525]
    

    程序简单,ok

    展开全文
  • 包含整个工程,可直接复制使用
  • C语言中从字符串提取数字

    千次阅读 2020-03-02 17:32:41
    小记: ...题目:输入字符串,把其中的整数提取出来,放在个新的数组,统计有多少个整数,并输出这些数。 程序如下: #include <stdio.h> #include <string.h> int main() { c...

    题目要求:
    输入字符串,把其中的整数提取出来,放在一个新的数组中,统计有多少个整数,并输出这些数。
    小记:
    本人最近在学习谭浩强经典C语言教材,此题目为谭浩强《C程序设计》第8章,16题。谭老的解写得比较繁琐,故我自己写了一个笔记做回顾。
    程序如下:

    
    #include <stdio.h>
    #include <string.h>
    int main() {
    	char str[80] = "00fs2jjksf0jsf 232.sfdjk,";
    	int a[20], i, m;
    	int find_num(int *a, char *str);
    	m = find_num(a, str);
    	for(i = 0; i < m; i++) {
    		printf("%d ", a[i]);
    	}
    	printf("一共有%d个数\n", m);
    	return 0;
    }
    //把str中找到的数字放入a中
    int find_num(int *a, char *str) {
    	int i, k, sum = 0, flag = 0,m = 0;
    	//i记录循环次数
    	//sum存放连在一起所有数的值
    	//k记录提取的单个数的值
    	//flag记录当前是否为数字
    	//m记录a[]的下标,存放数字到a数组中
    	for(i = 0; i <= (int)strlen(str); i++) {
    		//当前位为数字,则放入k中
    		if (str[i] >='0' && str[i] <= '9') {
    			flag = 1;
    			k = str[i] - '0';
    		} else {
    			//flag为1说明,前一位是数字,而现在已不是数字
    			//故把计算的sum放入数组中,一组连在一起的数字判断完成
    			if (flag == 1) {
    				a[m++] = sum;
    			} 
    			//复位
    			flag = 0;
    			sum = 0;
    		}
    		//若为数字,则计算连在一起的数字的值
    		if (flag == 1) {
    			sum = sum * 10;
    			sum += k;
    		}
    	}
    	//返回个数
    	return m;
    }
    
    展开全文
  • C语言:提取字符串中数字

    千次阅读 2021-06-21 17:33:25
    做作业的时候有一道题要求统计字符串中数字 如“12s133 358-76vh9”,提取出每段数字并将其化为整型: 12、133、358、76、9 逻辑思想:遍历数组,用检测是否处于数字字符数字字符与其他字符的交界处的方法...
  • 在很多时间我们需要把字符串数字给取出来,通常大家会用php,asp等这类来操作,本文章介绍了在sql字符中数字办法,有需要的朋友可以参考一下
  • 我将提取字符串中包含的所有数字。 哪个更适合于目的,正则表达式或isdigit()方法?例:line = "hello 12 hi 89"结果:[12, 89]#1楼@jmnas,我很喜欢您的回答,但没有找到浮点数。 我正在处理个脚本,以分析要送入...
  • 从字符串中提取数字

    千次阅读 2020-07-13 10:45:41
    I want to extract the numbers from a string that contains numbers and letters like: 我想包含数字和字母的字符串中
  • C语言实例:提取字符串中全部数字

    万次阅读 2020-07-03 09:11:24
    如果我们输入字符串,其中含有字母和数字,如果只想要其中的数字,如何处理呢? 实现方法:比如说,我们想要将“d2d2d3”数字“223”提取出来,那么需要逐个字符判断是否为为数字,条件成立则放在新的字符...
  • C语言之从字符串中获取数字

    万次阅读 多人点赞 2019-06-11 10:53:09
    以前就有的一个想法,如果有一串字符串,里面又有数字,又有字母,我们应该如何获取到里面的数字呢?废话不多说,直接看源码: #include"stdio.h" #include"string.h" int main() { char test[100]; //用于接收...
  • 提取字符串中数字C/C++(指针)

    千次阅读 2021-05-02 14:44:17
    本关任务:在一串隐藏着一个或多个数值的字符中,选出字符的所有数字字符,并将选出的数字字符重新组成新字符串。如果在第一个数字字符之前有负号,则保留该负号,有多个负号时只保留一个。 例如:输入的字符串...
  • C语言从字符串中提取数字

    千次阅读 2018-09-18 10:16:11
    如果是格式已知的字符串, 如 "profile3", 从中提取数字3, 则可以使用函数sscanf, 如下: char profile[20] = "profile3"; int err, profile_id; err = sscanf(profile, "profile%d", &profile_id); 参考: ...
  • C++ 提取字符串中的所有数字

    万次阅读 2018-10-25 11:31:01
    int main() { while (true) { cout 请输入字符串" ; string str; cin >> str; list nums = GetStringByNumArr(str); for (list::iterator it = nums.begin(); it != nums.end(); it++) { cout *it ; } } system(...
  • 图1可以使用数组公式:=1*MID(A1,MATCH(TRUE,ISNUMBER(1*MID(A1,ROW($1:$20),1)),0),COUNT(1*MID(A1,...图2公式,使用MID(A1,ROW($1:$20),1)分解单元格A1的文本,使用MATCH(TRUE,ISNUMBER(1*MID(A1,ROW($1:$20),...
  • java 从字符串中提取数字

    千次阅读 2017-09-29 23:52:13
    键盘随意输入一串字符,从中提取数字 import java.util.*; import java.util.regex.Matcher; import java.util.regex.Pattern; public class getNum{ public static void main(String[] args){ Scanner sc=...
  • Python:从字符串中提取数字

    千次阅读 2020-11-22 16:32:52
    如果您只想提取正整数,请尝试以下操作:>>> str = "h3110 23 cat 444.4 rabbit 11 2 dog">>> [int(s) for s in str.split() if s.isdigit()][23, 11, 2]我认为这比正则表达式的例子好三个原因。首先,你不需要另...
  • 从字符串中提取数字、字母

    千次阅读 2020-05-28 17:44:23
    2 提取数字:regEx=“[0-9]"; 3 提取英文:regEx=“[a-z||A-Z]"; 4 提取英文和数字:regEx=“[a-z||A-Z||0-9]"; 运用正则表达式 已知字符串:String str = K960+055=JGK1048+949 public String getNum(String str) ...
  • JavaScript如何从字符串中提取数字

    千次阅读 2022-01-10 17:01:43
    JavaScript如何从字符串中提取数字
  • 本文档介绍了几种从字符串中提取连续的字符数字转换为整数的方法,附有源代码供参考,适合于那些想要编码实现字符串中提取连续的字符数字转换为整数的同学
  • 方法 s = input() list =[] for i in s: if i in "0123456789": list.append(i) print(int("".join(list))) 方法二 s = input() a = [] for n in s : if n.isdigit() : a.append(n) print(int("".join(a))) ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 176,086
精华内容 70,434
关键字:

从一串字符中提取数字