社区
语言基础/算法/系统设计
帖子详情
正则TRegExpr中如何提取逗号/分号/空格(可能多个空格)中文逗号/中文分号的子串
Elysium
2010-01-24 07:40:40
rt
...全文
273
4
打赏
收藏
正则TRegExpr中如何提取逗号/分号/空格(可能多个空格)中文逗号/中文分号的子串
rt
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Elysium
2010-01-24
打赏
举报
回复
嗯,把中文字符都替换一遍问题解决
柯本
2010-01-24
打赏
举报
回复
我的程序在D2010下也测试没问题
Elysium
2010-01-24
打赏
举报
回复
d7下的,也是乱码?!
uses RegExpr;
procedure TForm1.Button1Click(Sender: TObject);
var
RegExpr: TRegExpr;
str : string;
str2 : string;
I : Integer;
sl :TStringList;
begin
RegExpr := TRegExpr.Create;
str2 := 'S444+345,L555+454; 557+333; 666K+334 桥两两侧,护栏好美的美女\drrrrr/好啊啊';
try //[^\s*|\s*$]
RegExpr.Expression := '[\s/,/;/,/;/、/\\//]{1,}';
//RegExpr.Expression := '\s+|[/,/,/;/;/、] ';
sl := TStringList.Create;
Regexpr.Split(str2, sl);
for i:=0 to sl.Count-1 do
begin
str := sl.Strings[i];
showmessage(str);
end;
{I := RegExpr.SubExprMatchCount;
if RegExpr.Exec(str2) then
begin
repeat
Regexpr.Split(str2, sl);
str := RegExpr.Match[0];
until not RegExpr.ExecNext;
end; }
finally
FreeAndNil(RegExpr);
end;
end;
柯本
2010-01-24
打赏
举报
回复
由于delphi 6以下对汉字支持有些问题,所以最好先将中文逗号、分号改成英文的,并用unicode方式改,不然由于上下文关系,它会得到莫名结果,程序如下:
uses regexpr;
procedure TForm1.Button1Click(Sender: TObject);
var
s:String;
r:tregexpr;
ap:tstringlist;
begin
s:='这是aaa;一个测试,你好,不错 ;可能拉bbb';
s:=stringreplace(widestring(s),widestring(';'),';',[rfReplaceAll]);
s:=stringreplace(widestring(s),widestring(','),';',[rfReplaceAll]);
r:= tregexpr.Create;
ap:= tstringlist.Create;
r.Expression:='[; ,]+'; //多个分隔符产并成一行,所以用+
r.Split(s,ap);
memo1.lines.AddStrings(ap);
end;
结果为:
这是aaa
一个测试
你好
不错
可能拉bbb
万能makefile写法详解,一步一步写一个实用的makefile
第3段是
正则
式[ :]*,表示若干个
空格
或冒号,(其实一个.d里只会有一个冒号,如果这里写成[ ]*:,即匹配若干个
空格
后跟一个冒号,也是可以的)。 总体来说match用来匹配'main.o :'这样的串。 这里的replace是\1.o ...
正则
表达式
中
各种字符的含义
正则
表达式
中
各种字符的含义
正则
表达式(regular ex
pr
ession)描述了一种字符串匹配的模式,可以用来检查一个串是否含有某种
子串
、将匹配的
子串
做替换或者从某个串
中
取出符合某个条件的
子串
等。列目录时, dir *.txt或...
HTML5开发视频:高级程序设计
课程介绍: 第一章:
正则
表达式(regularex
pr
ession)描述了一种字符串匹配的模式(pattern),可以用来检查一个串是否含有某种
子串
、将匹配的
子串
替换或者从某个串
中
取出符合某个条件的
子串
等。 第二章: http协议是...
正则
表达式
findall 函数返回所有匹配的
子串
,放在一个列表
中
。 . * + ? \ [ ] ^ $ { } | ( ) 表示要匹配除了 之外的任何 字符。 表示匹配前面的子表达式任意次,包括0次。 表示匹配前面的子表达式一次或多次,不包括0...
python
中
使用
正则
表达式
提取
数据
正则
表达式是一个特殊的字符序列,它能帮助你方便的检查一个字符串是否与某种模式匹配。 re 模块使 Python 语言拥有全部的
正则
表达式功能。 compile 函数根据一个模式字符串和可选的标志参数生成一个
正则
表达式...
语言基础/算法/系统设计
16,748
社区成员
33,247
社区内容
发帖
与我相关
我的任务
语言基础/算法/系统设计
Delphi 语言基础/算法/系统设计
复制链接
扫一扫
分享
社区描述
Delphi 语言基础/算法/系统设计
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章