正则表达式问题请教
类似以下的字符串,以数字开头,逗号后跟字母:10,Displ.,Reaction,
24,Prog,Design,VSH,
134,Rigid,+Z;,Rigid,Y,
使用StringRegExpReplace函数使从第二个以后的所有逗号全部替换为空格。如下:
10,Displ.Reaction
24,ProgDesignVSH
134,Rigid+Z;Rigid Y
请问这个正则表达式如何写呢?
$string = StringRegExpReplace('10,Displ.,Reaction,', ',', ' ', 0)
$string = StringRegExpReplace($string, ' ', ',', 1)
MsgBox(0,'',$string)
对正则不是很熟悉,
可以试试用StringSplit拆分后再重组. 用StringSplit是个不错的主意,我已经试过了,能够满足要求 liongodmien 回答过我的很多帖子,多谢 对于LZ在这的问题,用字符替换(StringRegExpReplace()或StringReplace()),可以比较容易的得到结果,而不用分解再组合,对同一问题可以用多个函数解决,但一般应该用比较容易的那个解决,这样程序的运算速度也比较的快! $string = StringRegExpReplace('10,Displ.,Reaction,', '(\D),', '\1 ')
MsgBox(0,'',$string) 首先替换所有,成为空格,再替换所有数字编号后的第一个空格为,
...我就想了这个蠢办法... 越来越精妙了,多谢 凑凑热闹...
把第一个,和后面的字符替换成'':
MsgBox(0,'',StringRegExpReplace("10,Displ.,Reaction",",(.*)",""));
下面这个是把第一个,前的字符取出:
MsgBox(0,'',StringRegExpReplace("10,Displ.,Reaction","^([^,]*).*","\1"));
页:
[1]