提取文件出错_提取中文、英文和数字,其实很简单

小伙伴们好啊,日常工作中,很多小伙伴都会遇到一些不规范的数据,很多小伙伴对字符串的提取问题也是头疼不已,今天咱们就分享一期关于字符串提取的内容。 一、提取字符串中的英文 先来看下面的数据,是一些混到一起的客户信息,有姓名、英文名和住址,现在咱们要提取出其中的英文名。 dc3eca367bb48b0ee81dec4647287a32.png 有小伙伴可能首先想到的就是在2013及以上版本中的快速填充功能,嗯嗯,可以实现要求,但是这个功能有很大的局限性,第一是数据源变化后不能更新,第二是要求数据必须要有非常明显的规律性,否则结果就会出错,因此快速填充功能不是今天咱们讨论的主题。 熟悉函数公式的小伙伴应该在偷偷笑了,嗯嗯,函数公式也行,但是数据量多了的时候,函数公式直接歇菜,我可不想在电脑前面一直眼巴巴的等: e221502b148714afecf460d4088ba81d.png 咱们要分享的方法,不但可以刷新,而且在数据量非常多的时候仍然可以快速返回结果。说了半天,究竟要使用什么方法呢? 猜对了——就是Power Query功能。 接下来咱们就以 Excel 2019 为例,看看具体的步骤: 1、单击数据区域,数据→自表格/区域,将数据加载到数据查询编辑器 6e63220efbabb5c11c28a53a43af5a2e.gif 2、依次单击【添加列】→【自定义列】,输入公式: =Text.Remove([混合内容],{"一".."龟"}) 然后删除原有的数据列,将数据加载到工作表。 4ae6f96aecce9de9836f2410bb360c73.gif Text.Remove 函数是PQ中特有的函数,Text表示函数的类型,Remove的意思就是移除。函数的作用就是从字段中移除指定的字符。 这个函数有两个参数,第一个参数是要处理的字段,第二个参数是要移除的字符内容,公式中的{"一".."龟"}表示所有中文字符,也就是说只要是中文字符,就从【混合内容】字段中移除。 二、提取字符串中的中文 仍然以上面这组数据为例,要提取出其中的中文内容,也就是客户的姓名和地址信息。 1、单击数据区域,数据→自表格/区域,将数据加载到数据查询编辑器 2、依次单击【添加列】→【自定义列】,输入公式: =Text.Remove([混合内容],{"A".."z"}) 然后删除原有的数据列,将数据加载到工作表。 2c30f80b5fd8e4cbd6c4a2e6e701e435.gif 公式的意思是从【混合内容】这个字段中,移除所有A~Z和a~z的字母。 三、提取字符串中的数字 再看下面的数据,里面有中文、英文、数字还有一些间隔符号,需要从这些混合内容中,提取出电话信息: 6b58fbca1e2780cbd56a2f144d6cef2b.png 要删除的字符类型太多了,这回咱们换一个函数。 1、单击数据区域,数据→自表格/区域,将数据加载到数据查询编辑器 2、依次单击【添加列】→【自定义列】,输入公式: =Text.Select([混合内容],{"0".."9"}) 然后删除原有的数据列,将数据加载到工作表。 74e0a35e166ff550e3281af5697b46a5.gif Text.Select 函数的作用和 Text.Remove 函数相反,Select的意思是挑选,顾名思义,Text.Select 函数就是从字段中挑选出指定的内容。 第二参数使用{"0".."9"},表示提取0至9的所有数字。如果要 提取是其他类型的内容,可以使用以下几个公式。 abc549b8fe436fd268cabd5ee098b9a6.png 编后话: 从Excel 2016版本开始,Power Query成为了内置功能,如果你使用的是2010或是2013版本的Excel,可以百度一下安装微软的Power Query插件。如果使用的是2007或是2003,那就尽快升级吧~ 今天的练手文件在此,你也试试: 链接: https://pan.baidu.com/s/1lK4GHyuiWk0NHhCTjlMbmg 提取码: 4kga 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
PDF基础知识 PART I 前言 DTP技术的发展导致了用户数据文件的多样化,给印厂处理这些文件带来困难。 印厂走向数字化,同样需要一种通用的,数字化的可替代胶片作为数据交换的文件格 式。 PDF是理想的替代者,它可以很好的整合各种元素,而且是设备无关的。 早期PDF只是为了打印和屏幕输出,它达不到在照排机或CTP上分色输出的精度。目前 Adobe Acrobat 4.0支持的PDF v1.3标准已经解决了此问题,所生成的PDF文件已经包含了印前生产所必须的所有信息, 使得PDF成为现代流程性自动化输出系统理想的数据格式。 PDF的生成 目前有多种生成PDF的途径,但并不是所有的都能达到后端高精度输出的需要。目前 最可靠的是Adobe的Distiller。Adobe已经提供了"PDF Library"给各种应用程序,以便直接从应用程序中直接导出PDF。 PDFWriter是一个打印驱动,提供从操作系统中的QuickDraw或GDI所描述的图象信息 转换到PDF的途径。因为这些操作系统不支持PostScript,所以不推荐用PDFWriter来生 成PDF文件。其他的,如PaperCapture和WebCapture,同PDFWriter一样,都不能提供转 换成供照排输出的PDF文件。 PDF的通用性 PDF生成后就是平台及应用程序无关的。正确生成的PDF文件包含了所有的供显示和打 印或照排所用的信息。 除了图片、图形和文本外,还可以将字体下载到PDF中,这需要在生成PDF文件过程中 正确设置,不然Distiller也许会做不正确的字体模拟。 PDF是页面独立的,因而可以轻易的进行页分离和替换。而且页面中的对象也是独立 的,对其中的一个对象的修改,不会影响到其他对象。 PDF的输出也是可靠性很高的,因为在Postscript文件转换到PDF文件时,Distiller 内置的Postscript的解释器已经做了预处理,减少了出错的几率。正因如此,PDF的解释 效率也比Postscript高。 PDF文件中的图片、图形和文字可以进行压缩,容量会有一定的减少。 工业标准 PDF正在成为印刷广告和页面交换的国际标准。 PDF被美国标准委员会CGATS(Committee for Graphic Arts Technologies Standards)确定为印刷广告和页面交换的标准。国际标准化组织也正在指定一个基于P DF的ISO标准。 PDF的输出 最简单的方法是通过符合Postscript Level 3的RIP解释输出,这类RIP都能直接解释PDF文件。彩色的PDF文件可以在RIP上分色,RG B和Lab色会被转换为CMYK色输出。对于不支持PDF文件的RIP,可以使用Acrobat中的"Pr int"命令生成PS文件。 对于不支持分色的RIP,则需要事先分色。 当一则PDF格式存在的广告要放到杂志或报纸中去,通常有两种做法: 1. 使用"Placed PDF"功能,在版面上直接放置。此时会有PDF数据到PS数据的转换过程发生。 2. 将PDF文件导出为Postscript Level 1格式的EPS,放置到版面上。因为版面程序要进行分色,所以要生成符合Postscript Level 1的EPS格式。不仅只针对单个广告,整个PDF页面也是一样的。 PS和PDF的区别 PS是一种成熟的编程语言,每一个PS文件都是一段PS程序,需要RIP的解释。在解释 的过程中会有错误产生,而且解释的时间长短是不可预测的。PS文件中常常含有设备相 关的命令,其他种类的设备有可能识别不了。因此PS文件不适用于快速的显示。 PDF是一种只包含供输出的各种信息文件格式,不需要进行输出前的处理,因此可靠 性比PS高。 最大的区别在于,PDF是面向对象的数据格式,而PS是要从头到尾顺序解释的。因此 从PS文件提取单独页是非常困难的,因为它不知道以前页定义的资源(如字体),当 前页会不会用到。这在折手中表现尤其突出,因为折手需要将不同页安排在大版的不同 位置。PDF可以被看作是各个对象的数据库,用户可以直接访问这些对象,因此可以轻易 的将单独页抽出。Acrobat 4.0提供了对存在于一个页面上的对象的拷贝、粘贴、移动,甚至可以用工具来进行编辑 。 PS和PDF的相似性 PS和PDF是基于同一个图形模型的,所以使用Distiller可以轻易的将PS转换为PDF, 甚至比把PDF转换成为PS更为简单。 PDF的生成过程: Distiller内置一个完全的Adobe RIP。RIP解释PS文件中的命令来生成PDF格式的文件。首先将所有的对象以相同的格式存 于一个过渡性格式的列表中。第二步,各对象由一个转换器转换为独立的Bytemap。接着 这些连续调的Bytem
注意:本程序是网上收集而来,所有权归原作者所有! 2010-03-01 PETotal V1.7 改善: 1. 检查壳和编译信息的特征码信息,转移到外部文件中,支持自定义特征码 功能追加: 1. 新增添加导入函数功能,方便花指令调用函数 2010-02-27 PETotal V1.6 改善: 1. 为文件捆绑专门做了个寄主文件,只能绑定到这个寄主文件, petotal不再做免杀软件的载体了(请务必把petotal和host放在同一目录) 2. 支持拖入快捷方式分析,直接拖入桌面的快捷方式即可分析 功能追加: 1. 新增附加数据的分析和提取附加数据 2010-02-21 PETotal V1.5 BUG修改: 1. winrar等软件打开出错 2. 提取资源无法保存在中文目录 3. 输入表显示乱码的问题 功能追加: 1. 文件捆绑功能(可选择释放隐藏文件还是在内存运行隐藏文件) 2010-02-19 PETotal V1.3 功能追加: 1. 支持添加自定义花指令 2. 支持自定义shellcode探框的消息内容 3. 新增提取图标和位图的资源文件功能 2010-02-13 PETotal V1.2 功能追加: 可以自动添加花指令,免杀功能 也可以手动添加空白Section,然后修改入口地址,自己通过第三方工具加花指令 2010-02-10 PEScan V1.1 功能追加: 可以探测一部分加壳的信息和编译器的信息 2010-02-07 PEExplorer V1.0 功能概述: 1. 支持换肤 2. 可以看可执行文件(exe,dll,sys)的版本信息, PE头信息(可用于效验文件的三个字段)和 这个可执行文件使用的DLL和函数,以及输出地函数接口 3. 支持拖拽功能,可以直接拖拽文件到界面,即可分析 4. 可以检查可执行文件是否已经数字签名了
提取字符串"32_32_34_1_2"中的所有数字,你可以使用字符串分割和转换操作来实现。以下是一个使用C++的示例代码: ```cpp #include <iostream> #include <string> #include <sstream> #include <vector> std::vector<int> extractNumbers(const std::string& str) { std::vector<int> numbers; std::stringstream ss(str); std::string token; while (getline(ss, token, '_')) { try { int number = std::stoi(token); numbers.push_back(number); } catch (const std::invalid_argument& ia) { // 忽略无法转换为数字的部分 } } return numbers; } int main() { std::string str = "32_32_34_1_2"; std::vector<int> numbers = extractNumbers(str); std::cout << "Extracted numbers: "; for (int number : numbers) { std::cout << number << " "; } std::cout << std::endl; return 0; } ``` 在上面的代码中,我们定义了一个名为`extractNumbers`的函数,该函数接受一个字符串作为输入,并返回一个包含所有提取到的数字的整数向量。在函数中,我们使用`std::stringstream`和`getline`函数将字符串按照下划线分割为多个子串。然后,我们尝试将每个子串转换为整数,如果转换成功,则将其添加到结果向量中。 在`main`函数中,我们调用`extractNumbers`函数来提取字符串中的数字,并将结果打印出来。 请注意,上述代码假设字符串中的每个数字都可以成功转换为整数。如果遇到无法转换为整数的部分,代码将忽略该部分。如果你的实际需求不同,你可以根据需要进行修改。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值