文档章节

关于 TRegEx.Split()

涂孟超
 涂孟超
发布于 2014/09/26 15:36
字数 225
阅读 7
收藏 0
点赞 0
评论 0

表达式中的括号将严重影响分割结果.

uses RegularExpressions;

const
  FSourceText = '1: AAA 2: BBB 3: CCC'; // 分隔符将有三部分构成: 一个数字, 一个冒号, 一个空格
var
  Arr: TArray
 
  ;
  str: string;

procedure TForm1.Button1Click(Sender: TObject);
begin
  Arr := TRegEx.Split(FSourceText, '\d: ');

  Memo1.Clear;
  for str in Arr do Memo1.Lines.Add(str);
  {结果:

  AAA
  BBB
  CCC
  }
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
  Arr := TRegEx.Split(FSourceText, '(\d): '); //括号中的部分被当做分割后的元素

  Memo1.Clear;
  for str in Arr do Memo1.Lines.Add(str);
  {

  1
  AAA
  2
  BBB
  3
  CCC
  }
end;

procedure TForm1.Button3Click(Sender: TObject);
begin
  Arr := TRegEx.Split(FSourceText, '(\d:) '); // 证实上面

  Memo1.Clear;
  for str in Arr do Memo1.Lines.Add(str);
  {

  1:
  AAA
  2:
  BBB
  3:
  CCC
  }
end;

procedure TForm1.Button4Click(Sender: TObject);
begin
  Arr := TRegEx.Split(FSourceText, '(\d)(:) '); // 如果有两个括号, 取后面括号的内容做元素

  Memo1.Clear;
  for str in Arr do Memo1.Lines.Add(str);
  {

  :
  AAA
  :
  BBB
  :
  CCC
  }
end;

procedure TForm1.Button5Click(Sender: TObject);
begin
  Arr := TRegEx.Split(FSourceText, '(\d)(:)( )'); // 证实上面

  Memo1.Clear;
  for str in Arr do Memo1.Lines.Add(str);
  {


  AAA

  BBB

  CCC
  }
end;

本文转载自:http://www.cnblogs.com/del/p/3147911.html

共有 人打赏支持
涂孟超
粉丝 12
博文 2004
码字总数 14107
作品 0
深圳
程序员
关于本博客数据仓库方面的原创文章汇总

关于本博客数据仓库方面的原创文章汇总 收藏 关于数据仓库方面的文章汇总 我的数据仓库之路! 关于数据仓库维度处理的系列文章 1 关于数据仓库维度数据处理的方法探究系列—— 维的概述 2 关...

baoqiangwang ⋅ 2010/05/10 ⋅ 0

国外PHP学习网站书籍资料汇总

PHP网站 ——PHP相关的有帮助的网站 PHP The Right Way: 一个PHP实践的快速参考指导 PHP Best Practices: PHP最佳实践指导 PHP Weekly: 一个PHP新闻周刊 PHP Security: PHP安全方面的指导 PH...

stone_ ⋅ 2015/01/07 ⋅ 0

常见Shell命令用法总结

常见命令用法总结 ----- 目录: --- 关于grep的总结 关于egrep的总结 关于tr的总结 关于sort的总结 关于uniq的总结 关于cut的总结 关于tee的总结 关于split的总结 关于type的使用 关于find的...

小骏骏 ⋅ 2016/02/19 ⋅ 0

运维规章文档初稿

1.信息与数据安全整体策略 Skip to end of metadata Go to start of metadata 信息总体安全策略 关于敏感数据失效后处理原则与操作方法 关于数据安全管理员与数据安全策略执行规章制度 关于限...

Bruceweien ⋅ 2017/06/05 ⋅ 0

Android学习笔记进阶九之Matrix对称变换

网上很多的倒影特效实际上就是一个对称变换,在改变透明度即可。 Matrix对称变换包括很多种,有关于Y轴对称,关于X轴对称,关于y= -x对称等等。 1 关于Y轴对称 // 获取资源文件的引用resReso...

迷途d书童 ⋅ 2012/03/05 ⋅ 1

《Linux设备驱动开发详解(第3版)》海量更新总结

本博实时更新《Linux设备驱动开发详解(第3版)》的最新进展。 2015.2.26 几乎完成初稿。 [F]是修正或升级;[N]是新增知识点;[D]是删除的内容 第1章 《Linux设备驱动概述及开发环境构建》 [D...

21cnbao ⋅ 2015/02/26 ⋅ 0

如何实现点击关于按钮,获得APP的版本号,APP的签名信息,APP的权限申请信息

如何实现点击关于按钮,获得APP的版本号,APP的签名信息,APP的权限申请信息 如何实现点击关于按钮,获得APP的版本号,APP的签名信息,APP的权限申请信息 appandroid studioapk 为软件管家增...

小猫咪1997 ⋅ 2017/11/06 ⋅ 1

《Linux设备驱动开发详解(第3版)》(即《Linux设备驱动开发详解:基于最新的Linux 4.0内核》)进展同步更新

本博实时更新《Linux设备驱动开发详解(第3版)》的最新进展。 目前已经完成稿件。 2015年8月9日,china-pub开始上线预售: http://product.china-pub.com/4733972 2015年8月20日,各路朋友报喜...

21cnbao ⋅ 2014/06/30 ⋅ 0

Adobe ActionScript 例子汉化

对AdobeActionScript3samples进行汉化并进行适应 FlashDevelop 的改写与改造(以纯As3实现或者以Flex实现),是一个非常好的学习 ActionScript 编程的东东。 每个子项目中的.fla文件需要Fla...

匿名 ⋅ 2010/03/21 ⋅ 0

spark split 一些特殊符号

关于点的问题是用string.split("[.]") 解决。 关于竖线的问题用 string.split("\ ")解决。 关于星号的问题用 string.split("*")解决。 关于斜线的问题用 sring.split("\")解决。 关于中括号的...

Freonever ⋅ 02/26 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

vim编辑模式、命令模式

编辑模式 vim要从一般模式进入编辑模式只要按字母 i 、I、a、A、o、O键就可以了 要从编辑模式回到一般模式按键盘上的Esc键即可。 按键 作用 i 在当前字符前插入 I 在光标所在行的行首插入 o ...

黄昏残影 ⋅ 29分钟前 ⋅ 0

OSChina 周五乱弹 —— 如果有一天不当程序员了

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @guanglun :分享off的单曲《我唱情歌给你听》 《我唱情歌给你听》- off 手机党少年们想听歌,请使劲儿戳(这里) @小小编辑 :#如果不做程序...

小小编辑 ⋅ 36分钟前 ⋅ 5

从 Confluence 5.3 及其早期版本中恢复空间

如果你需要从 Confluence 5.3 及其早期版本中的导出文件恢复到晚于 Confluence 5.3 的 Confluence 中的话。你可以使用临时的 Confluence 空间安装,然后将这个 Confluence 安装实例升级到你现...

honeymose ⋅ 今天 ⋅ 0

Java8新增的DateTimeFormatter与SimpleDateFormat的区别

两者最大的区别是,Java8的DateTimeFormatter也是线程安全的,而SimpleDateFormat并不是线程安全。 在并发环境下使用SimpleDateFormat 为了能够在多线程环境下使用SimpleDateFormat,有这三种...

人觉非常君 ⋅ 今天 ⋅ 0

多线程如何控制执行顺序

线程的生命周期说明: 当线程被创建并启动以后,它既不是一启动就进入了执行状态,也不是一直处于执行状态,在线程的生命周期中,它要经过新建(New)、就绪(Runnable)、运行(Running)、...

MarinJ_Shao ⋅ 今天 ⋅ 0

用ZBLOG2.3博客写读书笔记网站能创造今日头条的辉煌吗?

最近两年,著名的自媒体网站今日头条可以说是火得一塌糊涂,虽然从目前来看也遇到了一点瓶颈,毕竟发展到了一定的规模,继续增长就更加难了,但如今的今日头条规模和流量已经非常大了。 我们...

原创小博客 ⋅ 今天 ⋅ 0

MyBatis四大核心概念

本文讲解 MyBatis 四大核心概念(SqlSessionFactoryBuilder、SqlSessionFactory、SqlSession、Mapper)。 MyBatis 作为互联网数据库映射工具界的“上古神器”,训有四大“神兽”,谓之:Sql...

waylau ⋅ 今天 ⋅ 0

以太坊java开发包web3j简介

web3j(org.web3j)是Java版本的以太坊JSON RPC接口协议封装实现,如果需要将你的Java应用或安卓应用接入以太坊,或者希望用java开发一个钱包应用,那么用web3j就对了。 web3j的功能相当完整...

汇智网教程 ⋅ 今天 ⋅ 0

2个线程交替打印100以内的数字

重点提示: 线程的本质上只是一个壳子,真正的逻辑其实在“竞态条件”中。 举个例子,比如本题中的打印,那么在竞态条件中,我只需要一个方法即可; 假如我的需求是2个线程,一个+1,一个-1,...

Germmy ⋅ 今天 ⋅ 0

Django第一期

安装Django 去https://www.djangoproject.com/download/ 下载最新版的Django,然后解压放到Anaconda\Lib\site-packages目录下,然后cmd进入此目录,输入安装命令: python setup.py install ...

大不了敲一辈子代码 ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部