关于提取字符串中某关键字符的问题
本帖最后由 awfymwvf 于 2010-6-8 08:16 编辑有这样的一个字符串,比如
a: (6635AS) CCAADDWIDM
我现在想要把这段字符串简化成a=mms,应该怎么做呢,
还是正则表达式的问题,可是我真的不会
中括号后面的字符串长短不一定,
谢谢大家
采用afan版主的方法解决 本帖最后由 水木子 于 2010-6-7 15:36 编辑
这个问题好眼熟!$sText = 'a: (6635AS) CCAADDWIDM'
$aReg = StringRegExp($sText, '(\w)\:|\[(.*?)\]', 3)
MsgBox(0, '', $aReg & '=' & $aReg) 当我把字符串改成a: (6635AS) gCCAADDWIDMfg这样的时候
返回的不是a=mms了
水木子大侠,这时候要怎么办啊。用什么样的正则啊 本帖最后由 水木子 于 2010-6-7 15:43 编辑
回复 3# awfymwvf
2楼代码我已经修改了,再试试吧!
诸如类似正则问题,如字符串有多种变化,尽量都举例出来,这样方便取其特征书写表达式。
单凭一条字符串有时不好处理,或者是咱能力还不够。 StringRegExp返回了一个数组。我不想让它返回一个数组。可以换成StringRegExpReplace来执行吗? $str = 'a: (6635AS) gCCAADDWIDMfg'
$str = StringRegExpReplace($str, '(\w)\:.*?\[(.+)\].+', '$1=$2')
MsgBox(0, '', $str) $sText = 'a: (6635AS) gCCAADDWIDMfg'
$aReg = StringRegExpReplace($sText, '(\:.*?\[)','=')
$bReg=StringRegExpReplace($aReg,'\].*','')
MsgBox(0, '', $bReg)
页:
[1]