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


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;

关于 TRegEx.Split()的更多相关文章

  1. Delphi 自带的字符串分割函数split

    下面介绍Delphi自带的字符串分割函数,根据你的需要来使用. 1.ExtractStrings function ExtractStrings(Separators, WhiteSpace: TSy ...

  2. 表值函数与JS中split()的联系

    在公司用云平台做开发就是麻烦 ,做了很多功能或者有些收获,都没办法写博客,结果回家了自己要把大脑里面记住的写出来. split()这个函数我们并不陌生,但是当前台有许多字段然后随意勾选后的这些参数传递 ...

  3. join和split的区别

    join() 方法用于把数组中的所有元素放入一个字符串.元素是通过指定的分隔符进行分隔的. <script> var a=new Array(); a[0]="XHTML&quo ...

  4. c#使用Split分割换行符 \r\n

    c# 使用Split分割 换行符,方法如下(其余方法有空再添加):   string str = "aa" + "\r\n" + "bb"; ...

  5. JavaScript中的slice,splice,substr,substring,split的区别

    万恶的输入法,在sublime中会显示出繁体字,各位看官见谅. 1.slice()方法:该方法在数组和string对象中都拥有. var a = [1,2,3,4,5,6]; var s = 'thi ...

  6. split和join的用法

    第一点:split 直接举例子,比较直观, >>> f = 'www.baidu.com.cn' >>> f.split()['www.baidu.com.cn'] ...

  7. [LeetCode] Split Array Largest Sum 分割数组的最大值

    Given an array which consists of non-negative integers and an integer m, you can split the array int ...

  8. 字符串 中的split 与数组中的join

    关于基础,总是隔一段时间,就得看一次,要不不用总是忘,今天又重新看了,一下字符串对象的split,然后就想到了数组对象的join. var str='wo shi yi ge js'; var str ...

  9. split分割大文件--包含通过awk按规则分割文件到对应子文件

    当对一个大文件进行传输或者分析的时候,一个可以参考的办法是先通过split对文件进行分割,再对每个子文件进行处理,如果需要合并再进行合并. split函数可以按文件大小或者行数来进行分割. -a :  ...

随机推荐

  1. 《Linux命令行与shell脚本编程大全》 第五章理解shell

    5.1 1. cat /etc/passwd 可以查看每个用户自己的默认的shell程序. 2.默认的交互shell会在用户登录某个虚拟控制台终端时启动. 不过还有另外一个默认的shell是/bin/ ...

  2. expect 交互 模拟ssh 登陆

    模拟ssh登录 #!/bin/bash Ip='192.168.1.6' # 循环就行 RemoteUser='user' # 普通用户 RemotePasswd='userpasswd' # 普通用 ...

  3. 问题:经典类的对象明明没有__class__属性,却可以调用。

    这个问题得深入python源码才能看. class a: pass aa =a() print dir(aa)#aa只有doc和module属性 print aa.__class__#__main__ ...

  4. 关于v4包的Fragment过渡动画的事件监听无响应问题解决

    项目中部分功能模块采用了单Activity+多Fragment模式,当Fragment切换时,需要在过渡动画执行完后做一些操作,通常就是在自己封装的FragmentBase中重写onCreateAni ...

  5. The Smallest Difference

    Given two array of integers(the first array is array A, the second array is arrayB), now we are goin ...

  6. 记录自己对EventLoop和性能问题处理的一点心得【转】

    转自:http://www.cnblogs.com/lanyuliuyun/p/4483384.html 1.EventLoop 这里说的EventLoop不是指某一个具体的库或是框架,而是指一种程序 ...

  7. casper Dom的操作

    phantom.casperTest = true; phantom.outputEncoding="utf-8"; var casper = require('casper'). ...

  8. 【坐在马桶上看算法】算法6:只有五行的Floyd最短路算法

            暑假,小哼准备去一些城市旅游.有些城市之间有公路,有些城市之间则没有,如下图.为了节省经费以及方便计划旅程,小哼希望在出发之前知道任意两个城市之前的最短路程.         上图中有 ...

  9. 015_sublime插件管理及所有非常有用插件

    一. <1>按照这个进行Package Control的安装 https://packagecontrol.io/installation import urllib.request,os ...

  10. like语句防止SQL注入

    mysql: select * from test where school_name like concat('%',${name},'%')   oracle: select * from tes ...