当敬业的村委需要可爱的你帮忙统计一下村群的捐款接龙信息时,你是不是还在犯愁几百个接龙怎么一个个录进excel里啊,不要发愁,学过编程的你就会发现,这些事很简单,花了小编两个晚上搞出来的东西分享出来供大家参考(小编很菜),

文章目录

  • 前言
    • 主要突破点是正确读取字符串和从元胞数组里分离出想要的数值
  • 一、正确读取字符串
    • textscan
  • 二、从元胞数组里分离出想要的数值
    • regexp
  • 总结

前言

主要突破点是正确读取字符串和从元胞数组里分离出想要的数值

`

一、正确读取字符串

1,将接龙信息存到txt里,一般捐款名单都是以下形式:
1.张三:100元
2.李四:200元
3.王五:300元
2,观察到有共同特点,冒号之后是钱数和单位(如果不是这种格式你可以把它变成这种格式)
3,使用matlab进行提取钱数
示例:1.张三:100元
微信接龙捐款一般为上述形式,可以观察到字符串中包含中文和数字,如果直接使用matlab自带的textread函数或者textscan函数读取到的字符是乱码的,虽然中文并不是我们想要关注的但是它会影响我们对数字的提取,所以我们使用“UTF-8”格式读取,代码如下:
file=fopen(filename,‘r’,‘l’,‘UTF-8’);
想要了解’UTF-8’可以转https://blog.csdn.net/tcf_jingfeng/article/details/80134600
(如有侵权,可私信本人删除)
“l”参数的具体用法可自行查看
在matlab里textscan函数的作用是从文本文件或字符串读取格式化数据进行读取,想要了解更多关于该函数可以“help textscan”,本文用例如下:

textscan

inbook=textscan(file,'%d %s ');
%d读取数值,%s读取字符串,当你调用这个函数的时候它将会按照你的格式化(即%d)来读取并划分成N个元胞数组,例如本文N=2,则会得到1xN个元胞,在调试过程中我发现,“.”不被识别(或者起到分割的作用,时间有限,高手可以补充),当调用上述函数时,该行被划分为两个元胞,第一个元胞以整数形式保存数字“1”,第二个元胞则为“.”后的一串字符,当我试图“%d %s %d”来提取数字100时发现只能得到0,因为100在这一行里是字符

二、从元胞数组里分离出想要的数值

regexp

匹配正则表达式(区分大小写)
startIndex = regexp(str,expression) 返回 str 中与该正则表达式指定的字符模式匹配的每个子字符串的起始索引。如果没有匹配项,则 startIndex 为空数组。
正则表达式有很多用途,可自行help regexp了解,本文使用其匹配分离作用
Money = regexp(inbook{1, 2}{i, 1},‘:’,‘split’);
对第二个元胞查找’:',查找到后以此为分界线将字符串分割,split意为分离的意思,这样,这个元胞就变成了两个元胞数组,第二个元胞cell里包含了我们想要的信息,对第二个元胞进行再次使用正则表达式,以‘元’为分隔符,则可以得到100,最后利用matlab自带的str2double函数可以将字符串变成整型,‘元’后面没有字符则置为空,从而完成了从字符串中提取出了想要的数字。全部代码如下
代码如下(示例):

clear;clc;
filename='test.txt';
file=fopen(filename,'r','l','UTF-8');
inbook=textscan(file,'%d %s');
Divide=':';
Sum=0;
for i=1:size(inbook{1, 2},1)Money = regexp(inbook{1, 2}{i, 1},Divide,'split');MoneyNum=regexp(Money(2),'元','split');MoneyNum1 = str2double(MoneyNum{1, 1}{1, 1});Sum=Sum+MoneyNum1
end

总结

以上是对包含有中文和数字的字符串进行提取,不足之处,欢迎指出,一起讨论学习,如需转载,请注明。

读取统计微信捐款(matlab)相关推荐

  1. Python统计微信消费!生成微信消费账单!真强大!

    First of all 通过观察,我发现我的微信消费类型大约有3种: 1.通过扫描商家二维码支付 2.直接进行商户消费 3.发红包给舍友让他们帮我带饭 接下来,我要统计具体的消费明细 一.准备工作 ...

  2. 统计微信好友性别,并可视化

    ''' author: date:20200303 func:统计微信好友性别,并可视化 ''' from pyecharts.charts import Pie import csv from py ...

  3. python统计微信消费

    文章目录 First of all 一.准备工作 二.开始写代码 1.引入库 2.打开表格 3.读入数据 4.整理数据 5.写入数据 6.输出结果 最后 First of all 通过观察,我发现我的 ...

  4. python读取 .mat 文件(matlab文件)

    python读取 .mat 文件(matlab文件)和 scipy库包的使用(4-20181224) 一.python调勇scipy库读取.mat文件 1.使用例子1 2. 使用例子2 二.scipy ...

  5. WxConn:统计微信好友数与加入群聊的人数

    本文首发微信公众号:菜天Android 作为一个技术人,用微信这么多年,也加了不少的好友和技术群.大半个月前,大概是5月初的时候,萌生了这个想法. 前后磕磕绊绊,经过了来美帝出差前期差点饿死.项目紧急 ...

  6. python微信群机器人统计群数据_python-itchat 统计微信群、好友数量的实例

    Python Python开发 Python语言 python-itchat 统计微信群.好友数量的实例 今天小编就为大家分享一篇python-itchat 统计微信群.好友数量,及原始消息数据的实例 ...

  7. 使用wxpy统计微信好友数量及男女数量,并保存好友数据到本地

    使用wxpy统计微信好友数量及男女数量,并保存好友数据到本地,代码如下: from wxpy import * import json class bots:def __init__(self):pa ...

  8. 一、在全系1000名学生中,征集慈善募捐, 当总数达到10万元时就结束,统计此时捐款的人数,以及平均每人捐款的数目。

    #include <stdio.h> #include <stdbool.h> /*一.在全系1000名学生中,征集慈善募捐, 当总数达到10万元时就结束,统计此时捐款的人数, ...

  9. 微信抢红包MATLAB,微信红包怎么抢才是运气王?有人做了实验,看结果!

    在抢微信红包的过程中,可能许多人有这样一种感觉,抢红包貌似后抢比先抢能拿到更多的钱?有人就做了一个实验-- 友情提示: 全文约6400字,阅读全文约10分钟.如果觉得时间紧张,可以跳过实验过程直接拉至 ...

最新文章

  1. OpenResty中的upstream healthcheck功能沉思录
  2. AI志愿超强攻略|中国高校AI专业最全院校排名课程对比(附链接)
  3. springmvc框架介绍_Java修行第071天 ---SpringMVC(上)
  4. asp.net mysql 增删该查_asp.net 数据库的增删改查
  5. [转]将微信和支付宝支付的个二维码合二为一
  6. 30个Python小游戏,上班摸鱼我能玩一天【内附源码】
  7. 控制工程中的数学建模(6)——典型环节的数学模型(之二)
  8. LWR 局部加权线性回归算法
  9. linux上使用FTP下载远程PTF远程文件
  10. 4.22 虾皮_小米_度小满
  11. sa-token使用(源码解析 + 万字)
  12. ps:图像格式的选择
  13. Promise请求并发
  14. Python Iterator 学习小记
  15. java答辩记录问题,S2_javaWeb答辩问题集 qlzx
  16. 疫情反复,如何轻松居家办公?——快解析内网穿透
  17. 分享一个毕业实习体会
  18. 计算机控制手机短信的接收代码,用单片机控制手机收发短信息
  19. 按键精灵对服务器文本修改,怎么把输入框里面的内容修改脚本内容?
  20. 特斯拉model3中控屏怎么关_全方位解读特斯拉 Model 3中控大屏交互布局

热门文章

  1. 【AWVS】python调AWVS接口 新建扫描并导出扫描报告(一)
  2. Compound学习(三) 测试存入和取回资产
  3. GRU及双向RNN介绍
  4. 2020CSP-S T1 儒略历
  5. ios11.2计算机更新,iOS11.2.2正式版怎么样、更新了什么?iOS11.2.2降频吗?
  6. 01-javaWeb-html
  7. 查看自己电脑是否有GPU查看电脑GPU型号
  8. Windows 那些坑
  9. 爱彼迎全球招募5名南极科学考察团志愿者
  10. 无线AP 的频段(2.4GHZ or 5GHz)