求助 正则表达式 去除某个匹配字符串中间的某个字符(已解决)
本帖最后由 tubaba 于 2017-7-7 14:25 编辑正则表达式 去除某个匹配字符串中间的某个字符
OK,举个例子来说:
a boy who was in my class at school
【a boy who was in my class at school】
假设我想要去掉【】里面的空格符,该如何表达.
即变成这样:
a boy who was in my class at school
【aboywhowasinmyclassatschool】
上句不变,下句去掉空格.
解决方法:
匹配2次.先找出所有【】内容,再替换空格 分两步,先提取再替换。 回复 2# haijie1223
只能这样子吗?如果我有几万个这样的匹配,要替换其中的某个字符,那不是要替换几万次.
stringregreplace的反向引用 $1,能支持处理后的$1吗?比如形如 stringreplace('$1','空格','')这种形式 本帖最后由 hnfeng 于 2016-4-19 21:06 编辑
如果是我,这样:
1、StringRegExp 把 $t_text 里面的以“【” 开始 以“ 】”结束的字符串取到一个数组中 $a_AAA
2、数组内容去除重复,用 _ArrayUnique
3、使用 for $i=0 to ubound($a_AAA)-1循环,
$t_tmp=StringReplace($a_AAA[$i], " ", "")-- 把空格删掉,
然后使用 StringReplace 替换 $text 里面的内容$t_text=StringReplace($t_text, $a_AAA[$i], $t_tmp) 以前问过同样需求的问题,不过是匹配,不是替换。(?!.*【)[^ ]+(?=.*】)但是实际运用起来,匹配2次效率还高些。 以前问过同样需求的问题,不过是匹配,不是替换。但是实际运用起来,匹配2次效率还高些。
zch11230 发表于 2016-4-20 10:40 http://www.autoitx.com/images/common/back.gif
一般确实如此,要顾前要顾后的,崩溃都有可能。 回复 5# zch11230
懂了,匹配2次
页:
[1]