Delphi 中怎么用正则表达式取出下面的值

lhk165 2011-11-28 09:29:01
姓名:张三 手机:13888888888
地址:XX省 XX市 XX区 XX路XX号
电话:010-xxxxxxx 邮编 441100 (存放在Memo控件中)

像这种字符串,如何用正则表达式取出,需要截取出来为:
张三 13888888888 XX省 XX市 XX区 XX路XX号 010-xxxxxxx 441100


注:请使用TRegExpr
...全文
330 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
lhy 2011-11-28
  • 打赏
  • 举报
回复
北京市上海市难道要输入北京省上海省吗
lhk165 2011-11-28
  • 打赏
  • 举报
回复
姓名:张三 手机:13888888888
地址:XX省 XX市 XX区 XX路XX号
电话:010-xxxxxxx 邮编 441100 (存放在Memo控件中)

像这种字符串,如何用正则表达式取出,需要截取出来为:
张三
13888888888
XX省
XX市
XX区
XX路XX号
010-xxxxxxx
441100


注:请使用TRegExpr
OO_is_just_P 2011-11-28
  • 打赏
  • 举报
回复
简单。
kaikai_kk 2011-11-28
  • 打赏
  • 举报
回复
沒裝TRegExpr,提供一個常用的方法給你,如果Memo格式是這樣:

姓名:张三
手机:13888888888
地址:XX省 XX市 XX区 XX路XX号
电话:010-xxxxxxx 邮编 441100

var
i:integer;
s:string;
begin
with tstringlist.Create do
begin
Assign(memo1.Lines);
NameValueSeparator:=':';
for i:=0 to Count-1 do
s:=s+ValueFromIndex[i]+' ';
Free;
end;
showmessage(s);
end;
kspaul 2011-11-28
  • 打赏
  • 举报
回复
真是神人,这种东西也能通过正则来实现。你不会写个方法来提取吗
Henry.6 2011-11-28
  • 打赏
  • 举报
回复
文本:

姓名:张三 手机:13888888888
地址:XX省 XX市 XX区 XX路XX号
电话:010-xxxxxxx 邮编: 441100

正则:

\n*[^\s:]+?(?=:):

替换:无

结果:

张三 13888888888
XX省 XX市 XX区 XX路XX号
010-xxxxxxx 441100

16,741

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 语言基础/算法/系统设计
社区管理员
  • 语言基础/算法/系统设计社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧