今天碰到个问题:我的系统里面有个地方要导入银行返回的数据,但是这些数据可能不合乎规则,因此,我需要对数据进行进行扫描,然后才能读入程序,存入数据库.因此我想到了java.util.Scanner类.
D:/a.txt
003000000102123456789 000009000.00A
002000000102123456 000002000.00A
代码
import java.io.File;
import java.io.FileNotFoundException;
import java.io.StringReader;
import java.util.Scanner;
import java.util.regex.MatchResult;
public class Test {
public static void main(String[] args) throws FileNotFoundException {
Scanner scanner = new Scanner(new File("D:/detail-2008122.txt"));
String pattern = "(\\w{3})" + "(\\w{7})" + "(\\w{2})" + "(.{21})"
+ "(\\w{9}[.]\\w{2})" + "([A-Z])";
scanner.useDelimiter("\r");
while (scanner.hasNext(pattern)) {
scanner.next(pattern);
MatchResult match = scanner.match();
String store_no = match.group(1);
System.out.println("*" + store_no + "*");
String cus_no = match.group(2);
System.out.println(cus_no);
String bank_no = match.group(3);
System.out.println(bank_no);
String account_no = match.group(4);
System.out.println(account_no);
String money = match.group(5);
System.out.println(money);
String deduct_no = match.group(6);
System.out.println(deduct_no);
}
}
}
因为文件里面的数据里有空格,但是这些空格是有意义的,不能去掉,所以如果不设scanner.useDelimiter("\r");的话,会默认将空格做为定界符,那样会永远匹配不成功!
分享到:
相关推荐
Scanner扫描器源代码是计算机编程领域中的一个重要概念,特别是在C语言环境下。Scanner通常是指一个用于读取输入数据的工具或程序模块,它可以帮助开发者从键盘、文件或其他输入流中获取数据。在这里,我们讨论的是...
在编程实现"scanner扫描图片"的过程中,通常需要使用特定的库或者API来与扫描仪硬件交互。例如,TWAIN(Technology Without An Interesting Name)是广泛使用的跨平台的扫描仪接口标准,它允许应用程序直接控制扫描...
2. "开发Twain协议X64可用虚拟扫描仪.rar":这是一个包含64位版本的Virtual Twain Scanner开发资源的压缩文件,可能包含了示例代码、库文件、文档等,供开发者参考和使用,以便在64位系统上开发TWAIN兼容的应用程序...
Java编程实现向文本文件中读取数据之Scanner用法示例主要介绍了Java编程实现向文本文件中读取数据之Scanner用法,结合实例形式分析了java使用Scanner类读取文本文件相关操作技巧与注意事项。 一、Scanner类概述 ...
描述中的内容与标题一致,进一步强调了这是为明基BenQ SCANNER 5560设计的XP驱动程序,表明用户如果在使用该扫描仪时遇到了与操作系统兼容性的问题,可以通过安装这个驱动来解决。 标签"扫描"、"驱动"、"明基"分别...
**Angry IP Scanner** 是一款强大的网络扫描工具,专为 IT 专业人士和普通用户设计,用于快速检测 IP 地址范围内的设备信息。这款软件以其简单易用的界面和丰富的功能,深受网络管理员和安全研究人员的喜爱。以下是...
根据压缩包子文件的文件名称列表“Kinect-3D-Scanner-master”,我们可以推测这个压缩包可能包含了整个项目的所有源代码文件、配置文件、示例数据,甚至可能有编译和运行项目的说明文档。开发者在获取此资源后,需要...
如果你希望在iOS 7上使用ZBarSdk,你需要先下载并导入库文件到你的项目中。ZBarSdk提供了ZBarReaderController类,它可以方便地实现二维码扫描界面和结果处理。 以下是如何使用ZBarSdk进行二维码扫描的步骤: 1. ...
本资源提供了一个名为"BarcodeScanner"的二维码扫描器的安卓源码,旨在帮助开发者理解和实现类似的扫描功能。 一、条码与二维码技术 条码和二维码是数据编码的一种方式,通过黑白相间的图形表示信息。条码通常是一...
在使用Virtual Twain Scanner时,用户可以像操作实际扫描仪一样,通过调用支持Twain的应用程序来启动虚拟扫描。这些应用程序可能包括图像编辑软件(如Adobe Photoshop)、文档管理软件(如Adobe Acrobat)或者电子...
总之, BarcodeScanner源码为开发者提供了一个深入学习二维码扫描技术的实例,涵盖了安卓开发的多个方面,包括项目构建、API使用、UI设计以及功能实现。对于想要涉足手机开发,特别是对二维码扫描感兴趣的开发者来说...
**高级 IP 扫描器(Advanced IP Scanner)**是一款强大的网络诊断和管理工具,专为IT专业人士设计,用于快速、高效地扫描局域网(LAN)中的所有设备和资源。这款软件能够帮助用户发现网络上的所有活动设备,包括计算机...
标题中的“dlp.sock.scanner.zip_IP段扫描_Scanner _dlp_ip 扫描”指的是一款基于DLP(Data Loss Prevention,数据丢失防护)技术的IP段扫描工具,可能是一个通过socket编程实现的扫描器,用于检测网络中特定IP段的...
总的来说,"Advanced IP Scanner"是一个强大的网络管理工具,结合了IP扫描、远程管理等多种功能,依赖于一系列先进的库文件来实现其强大性能。正确和合法地使用这款工具,可以帮助用户有效地管理和维护他们的局域网...
IISPutScanner通过模拟PUT请求,对服务器的每个目录进行扫描,检查是否可以成功上传文件,从而揭示潜在的漏洞。 增强版的IISPutScanner可能包含以下特性: 1. **深度扫描**:扫描更多的目录和文件类型,不仅仅局限...
《Kodak Alaris Scanner SDK v1.0.4.1:高速扫描器开发详解》 Kodak Alaris Scanner SDK v1.0.4.1是一款由柯达阿尔aris公司推出的扫描仪软件开发工具包,它专为开发者设计,旨在帮助他们构建高效、功能丰富的扫描...
5. 验证修复:修复后,再次使用Websecurify Scanner进行扫描,确认漏洞已被消除。 四、Web安全最佳实践 1. 保持系统和软件更新:定期更新服务器操作系统、Web服务器、数据库管理系统等,修补已知安全漏洞。 2. 使用...
【set.ini】文件通常是配置文件,用于设定IISPutScanner的扫描参数,如目标IP范围、端口、扫描模式等。用户可以通过编辑这个文件来定制扫描行为,以适应不同的安全检测需求。 【免责声明.txt】文件通常包含软件使用...
00scanner是一个多功能扫描器,一方面它是辅助工具,能够对目标网络进行信息搜集;另一方面,它是一个漏洞扫描器,能够对常见漏洞进行扫描。支持扩展插件,即插即用,方便快捷。 扫描器采用python2.7版本,django...
【IISPutScanner1.3原版】是一个针对IIS(Internet Information Services)服务器的安全扫描工具,主要用于检测和预防通过PUT方法进行的非法文件上传。PUT是HTTP协议中的一种方法,允许客户端将文件上传到服务器。...