海量数据去除非数字字符(四种方法)

如果在一列中存入不规则的海量数据,数字和字符串混合,现在需要提取数字,总共总结出下面四中方法,依据运行速度快慢依次排列,推荐使用前三种方法:

第一种:数组方法,速度最快

  y3231057_1()
   t = Timer
    Arr, i&, j%, k&, S$, SS$, $
    Arr1()  
     Arr = Range( & [a65536].End(xlUp).Row)
     k = (Arr)
      Arr1(  k,   )
      i =   k
       S = Arr(i, )
        j =   (S)
         SS = (S, j, )
          SS Like  
              =  & SS
        j
       Arr1(i, ) = 
        = 
      i
     [B1].Resize(k, ) = Arr1
     [d65536].End(xlUp).Offset(, ) = Timer - t

第二种:正则表达式的方法,速度较数组方法稍慢

  y3231057_2()
   t = Timer
    Arr, i&
    Arr1()  
   Arr = Range( & [a65536].End(xlUp).Row)
   k = (Arr)
    Arr1(  k,   )
    ()
      i =   k
       .Pattern = 
       .Global = 
       Arr1(i, ) = .Replace(Arr(i, ), )
      i
    
   [B1].Resize(k, ) = Arr1
   [f65536].End(xlUp).Offset(, ) = Timer - t

第三种:遍历需转换字符,依据需转换字符批量转换方法,速度叫正则表达式方法稍慢

  y3231057_3()
     t = Timer
      Arr
      k  
      rng  Range
     Application.ScreenUpdating = 
     Arr = Array(, , , , , , )
      rng = Range( & Sheet1.[C65536].End(xlUp).Row)
          k =   (Arr)
             rng.Replace what:=Arr(k), replacement:=
         
      rng = 
     Application.ScreenUpdating = 
     [g65536].End(xlUp).Offset(, ) = Timer - t

第四种:依据单元格循环,一个一个转换方法,速度很慢,约为上面几种方法用时的几百倍

  y3231057_4()
     t = Timer
      Arr
      i  
      k  
     Arr = Array(, , , , , , )
      i =   [a65536].End(xlUp).Row
          k =   (Arr)
             Cells(i, ).Replace Arr(k), 
         
     
     [e65536].End(xlUp).Offset(, ) = Timer - t

时间: 2024-10-23 22:24:24

海量数据去除非数字字符(四种方法)的相关文章

IOS中Json解析的四种方法

作为一种轻量级的数据交换格式,json正在逐步取代xml,成为网络数据的通用格式. 有的json代码格式比较混乱,可以使用此“http://www.bejson.com/”网站来进行JSON格式化校验(点击打开链接).此网站不仅可以检测Json代码中的错误,而且可以以视图形式显示json中的数据内容,很是方便. 从IOS5开始,APPLE提供了对json的原生支持(NSJSONSerialization),但是为了兼容以前的ios版本,可以使用第三方库来解析Json. 本文将介绍TouchJso

IOS开发之——四种方法解析Jason数据(转)

本文将介绍TouchJson. SBJson .JSONKit 和 iOS5所支持的原生的json方法,解析国家气象局API,TouchJson和SBJson需要下载他们的库 TouchJson包下载: http://download.csdn.net/detail/enuola/4523169 SBJson 包下载: http://download.csdn.net/detail/enuola/4523177 JSONKit包下载:http://download.csdn.net/detail

Spring Security3的四种方法概述

使用Spring Security3的四种方法概述 那么在Spring Security3的使用中,有4种方法: 一种是全部利用配置文件,将用户.权限.资源(url)硬编码在xml文件中,已经实现过,并经过验证: 二种是用户和权限用数据库存储,而资源(url)和权限的对应采用硬编码配置,目前这种方式已经实现,并经过验证. 三种是细分角色和权限,并将用户.角色.权限和资源均采用数据库存储,并且自定义过滤器,代替原有的FilterSecurityInterceptor过滤器,     并分别实现Ac

20150503 imx257下实现I2C驱动的四种方法

20150503 imx257下实现I2C驱动的四种方法 2015-05-3 Lover雪儿 时间过得好快,转眼间五一假期就即将结束了,假期期间,大家都潇洒的去玩了,徒留辛辛苦苦的程序员还是窝在宿舍乖乖的敲着代码... 好啦,开开玩笑,辛酸史每家都有一大本,还是要积极的面对生活!!! 今天我们的任务是简单的入门linux内核下i2c设备驱动分离的四种写法. 一.一个简单的i2c驱动 和以前的驱动程序不同,i2c驱动分为drv驱动和dev设备驱动两个文件,不懂的可以参考我以前写的<20150313

Java 判断字符串是否为空的四种方法、优缺点与注意事项

以下是Java 判断字符串是否为空的四种方法: 方法一: 最多人使用的一个方法, 直观, 方便, 但效率很低: if(s == null ||"".equals(s));方法二: 比较字符串长度, 效率高, 是我知道的最好一个方法: if(s == null || s.length() <= 0);方法三: JavaSE 6.0 才开始提供的方法, 效率和方法二几乎相等, 但出于兼容性考虑, 推荐使用方法二. if(s == null || s.isEmpty()); 方法四:

linux安装IPython四种方法

IPython是Python的交互式Shell,提供了代码自动补完,自动缩进,高亮显示,执行Shell命令等非常有用的特性.特别是它的代码补完功能,例如:在输入zlib.之后按下Tab键,IPython会列出zlib模块下所有的属性.方法和类.完全可以取代自带的bash 下面介绍下linux安装IPython四种方法: 第一种:ipython源码安装ipython的源码下载页面为:https://pypi.python.org/pypi/ipython 或者是到git页面下载:https://g

【转】IOS中Json解析的四种方法

原文网址:http://blog.csdn.net/enuola/article/details/7903632 作为一种轻量级的数据交换格式,json正在逐步取代xml,成为网络数据的通用格式. 有的json代码格式比较混乱,可以使用此“http://www.bejson.com/”网站来进行JSON格式化校验(点击打开链接).此网站不仅可以检测Json代码中的错误,而且可以以视图形式显示json中的数据内容,很是方便. 从IOS5开始,APPLE提供了对json的原生支持(NSJSONSer

使用Spring Security3的四种方法概述

使用Spring Security3的四种方法概述 那么在Spring Security3的使用中,有4种方法: 一种是全部利用配置文件,将用户.权限.资源(url)硬编码在xml文件中,已经实现过,并经过验证: 二种是用户和权限用数据库存储,而资源(url)和权限的对应采用硬编码配置,目前这种方式已经实现,并经过验证. 三种是细分角色和权限,并将用户.角色.权限和资源均采用数据库存储,并且自定义过滤器,代替原有的FilterSecurityInterceptor过滤器,     并分别实现Ac

.NET导出Excel的四种方法及评测

.NET导出Excel的四种方法及评测 导出Excel是.NET的常见需求,开源社区.市场上,都提供了不少各式各样的Excel操作相关包.本文,我将使用NPOI.EPPlus.OpenXML.Aspose.Cells四个市面上常见的库,各完成一个导出Excel示例.然后对其代码风格和性能做一个横向比较.最后我将说出我自己的感想. 文中所有的示例代码可以在这里下载: https://github.com/sdcb/blog-data/tree/master/2019/20190824-dotnet

转载:CSS实现三栏布局的四种方法示例

转载网址:http://www.jb51.net/css/529846.html 前言 其实不管是三栏布局还是两栏布局都是我们在平时项目里经常使用的,也许你不知道什么事三栏布局什么是两栏布局但实际已经在用,或许你知道三栏布局的一种或两种方法,但实际操作中也只会依赖那某一种方法,本文具体的介绍了三栏布局的四种方法,并介绍了它的使用场景. 所谓三栏布局就是指页面分为左中右三部分然后对中间一部分做自适应的一种布局方式. 1.绝对定位法 HTML代码如下: <div class="left&quo