hanz_200 发表于 2011-1-12 13:47:57

[以解决] 正则表达式求助

本帖最后由 hanz_200 于 2011-1-12 15:06 编辑

字符:
Intel(R) Core(TM)2 Quad CPU    Q9400@ 2.66GHz

要求:
将大于2个空格的变成1个空格,将@后面的空格删除得到如下效果:
Intel(R) Core(TM)2 Quad CPU Q9400 @2.66GHz

望正则高手解答~

hanz_200 发表于 2011-1-12 13:48:43

注意:大于2个空格的位置不固定

tryhi 发表于 2011-1-12 14:51:43

$Str = 'Intel(R) Core(TM)2 Quad CPU    Q9400@ 2.66GHz'
$Test = StringRegExpReplace($str, '\s{2,}', ' ')
$Test1 = StringRegExpReplace($Test, '(?<=@)\s', '')
MsgBox(0, '替换结果', $Test1)

水木子 发表于 2011-1-12 14:53:11

本帖最后由 水木子 于 2011-1-12 15:46 编辑

$sText = 'Intel(R) Core(TM)2 Quad CPU      Q9400@ 2.66GHz'
$sRe = StringRegExpReplace($sText, '(?<= )\h+|(?<=@)\h+', '')
MsgBox(0, '', $sRe)

hanz_200 发表于 2011-1-12 15:05:59

感谢2为的解决,谢谢~

lingyunzu 发表于 2011-1-12 15:07:25

很好,有人先回答了。{:face (382):}
页: [1]
查看完整版本: [以解决] 正则表达式求助