找回密码
 加入
搜索
查看: 3353|回复: 8

[系统综合] 求助正则替换问题【已解决】

  [复制链接]
发表于 2012-2-16 13:11:42 | 显示全部楼层 |阅读模式
本帖最后由 xms77 于 2012-2-16 22:17 编辑

用正则替换,替换后少了回车,不知道怎么回事?
代码如下:
Local $text =   "OsMode=1" & @CRLF & _
                                "OpenFile1=" & @CRLF & _
                                "OpenFile1=" & @CRLF & _
                                "OpenFile2=" & @CRLF & _
                                "OpenFile3=" & @CRLF & _
                                "OpenFile4=" & @CRLF & _
                                "OnOffDelay_Bin1=1000.00" & @CRLF & _
                                "OnOffDelay_Bin2=1000.00" & @CRLF & _
                                "OnOffDelay_Bin3=1000.00" & @CRLF & _
                                "LEFT_CYL_SENSOR_SIGNAL_ENABLE=false" & @CRLF & _
                                "RIGHT_CYL_SENSOR_SIGNAL_ENABLE=true"
MsgBox(0,"original text", $text)
$temp = StringRegExpReplace($text, '(LEFT_CYL_SENSOR_SIGNAL_ENABLE=.+)\n', "LEFT_CYL_SENSOR_SIGNAL_ENABLE=TRUE", 1)
If Not @error Then MsgBox(0,"after replacing text",$temp)

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
发表于 2012-2-16 13:31:43 | 显示全部楼层
$temp = StringRegExpReplace($str, '(LEFT_CYL_SENSOR_SIGNAL_ENABLE=)\V+', '$1true')

评分

参与人数 1金钱 +40 贡献 +10 收起 理由
xms77 + 40 + 10 感谢大大帮我解决问题!

查看全部评分

 楼主| 发表于 2012-2-16 13:39:14 | 显示全部楼层
回复 2# afan
afan大大真是快,出手如电,快很准!几秒钟搞定我试了1个小时还搞不定问题,感谢!
 楼主| 发表于 2012-2-16 13:41:23 | 显示全部楼层
回复 2# afan
查了下帮助文档,\V 任何一个不是垂直空白字符的字符. 不懂‘垂直’是什么意思?
发表于 2012-2-16 13:43:13 | 显示全部楼层
回复  afan
afan大大真是快,出手如电,快很准!几秒钟搞定我试了1个小时还搞不定问题,感谢!
\V 任何一 ...
xms77 发表于 2012-2-16 13:41



    就是“回车、换行”的意思,回车换行可以表达为“\v”,非的话就是“\V”了
发表于 2012-2-16 13:48:18 | 显示全部楼层
回复 2# afan

A版的正则能力比犀牛还牛,啥子时候我能有1/10就好了撒……
 楼主| 发表于 2012-2-16 14:56:03 | 显示全部楼层
上面怎么回事啊?回复按钮点了几次没有反应,结果重复了这么多楼,哎,我不是故意的
发表于 2012-2-16 20:57:42 | 显示全部楼层
LZ 牛角了!

既然要替换的文字这么确定,就只为将‘false’替换为‘true’,直接用stringreplace更好,无论从代码的复杂性,还是代码的效率上讲,都好些。

如果是为了学习,那再复杂点也没什么,只是编程要注意复杂事情简单化的好。
 楼主| 发表于 2012-2-16 21:39:18 | 显示全部楼层
本帖最后由 xms77 于 2012-2-16 21:40 编辑

回复 8# liongodmien
不是所有的false替换为true,文本中有很多False和True,但是只需要替换特定位置的,所以我用了正则替换,我上面的文本只是一小段而已,呵呵,让你误解了,呵呵,抱歉!
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-9-30 21:25 , Processed in 0.087572 second(s), 25 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表