这个正则怎么写?大家教我下啊!
$a = '1|2|3|45|678|'我想要的结果是得到里面的数字项:1,2,3,45,678。
我有笨方法就是得到'|'的数量,然后用函数得到里面的数字,想用正则来做,知道的帮下忙啊! 本帖最后由 水木子 于 2011-6-8 16:55 编辑
$sText = '1|2|3|45|678|'
$sSrer = StringRegExpReplace($sText, '\|', ',')
MsgBox(0, '', $sSrer)
当然用 StringReplace 也可以!
$sText = '1|2|3|45|678|'
$sSrl = StringReplace($sText, '|', ',')
MsgBox(0, '', $sSrl) 回复 2# 水木子
谢谢。
我想要的是得到里面的数据,就是得到1和2和3和45和678.我要用这几个数据,而不是得到1,2,3,45,678. 本帖最后由 水木子 于 2011-6-8 17:01 编辑
回复 3# wzh880801
说白了就是要去掉那些非阿拉伯数字的字符吧?
那么得到的全是数字?结果将是12345678???是这样吗?
那么这样就可以啦!
$sText = '1|2|3|45|678|'
$sSrer = StringRegExpReplace($sText, '\D', '')
MsgBox(0, '', $sSrer) 本帖最后由 wzh880801 于 2011-6-8 17:05 编辑
回复 4# 水木子
是这个意思,我想得到一个数组,数组第一个值是1,第二个是2,第三个是3,第四个是45,第五个是678.然后我可以通过数组来调用这些值来计算。也就是依次得到1,2,3,45,678这4个值。 回复 5# wzh880801
哎!沟通有问题!呵呵!
主要是你1楼的 “我想要的结果是得到里面的数字项:1,2,3,45,678。” 这段话误导了我。。。
#include <Array.au3>
$sText = '1|2|3|45|678|'
$sSrer = StringRegExp($sText, '\d+', 3)
_ArrayDisplay($sSrer) 回复 5# wzh880801
1、 \d+
2、 [^\|]+ 回复 4# 水木子
我想楼主的意思是要分为; 12345678这五组数字吧 回复 6# 水木子
OK
谢谢了啊 正则是个好东西 得好好学学了啊 呵呵 以后还请多多指教啊 典型的StringSplit分割 学习了。。。。 回复 10# 3mile
{:face (72):}同意,简单的字符串拆分,为什么要用正则 StringSplit 看得云里雾里,努力学习吧
页:
[1]