作者sosojopoor (KeiDanX)
看板Perl
标题[问题] 判断与取代
时间Mon Jun 30 19:14:25 2014
各位板上前辈大家好
小弟我刚接触perl有些问题想请教
主要是判断&取代的问题
-----------原始码-----------
(port I0 (direction INPUT))
(instance (rename ABC_1def "CBA.gh3") (viewRef X)
(portRef I0 (instanceRef ABC_1def))
(portRef I1 (instanceRef iJk_1def))
(port LO (direction OUTPUT))
(portRef O (instanceRef ABC_1def))
-----------判断&修改後-----------
(port I0 (direction INPUT))
(instance (rename 123_1456 "321.783") (viewRef X)
(portRef I0 (instanceRef 123_1456))
(portRef I1 (instanceRef 901_1456))
(port LO (direction OUTPUT))
(portRef O (instanceRef 123_1456))
有两个关键字分别为"rename"和"instanceRef"
1.rename
判断到有rename後将第一个与第二个空白键中的a-Z换成数字
若超过9则为0 也就是a/A=1 b/B=2 ... i/I=9 j/J=0
同时随後两个"内的字串依照上述取代
2.instanceRef
判断到有rename後将第一个空白键与第一个)内的a-Z换成数字
取代的规则与前述相同
尝试使用if判断与tr
但一直卡在只取代 第一与第二个空白键内的a-Z 这边
请问有人知道该如何处理吗? 谢谢
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 42.70.4.121
※ 文章网址: http://webptt.com/cn.aspx?n=bbs/Perl/M.1404126867.A.507.html
1F:推 abliou:2看不懂... 06/30 21:48
2F:→ sosojopoor:2是要判别关键字instanceRef後的"第一个空白"至"第一 07/01 09:30
3F:→ sosojopoor:个)"内的a-Z换成输字, 换的规则如1 07/01 09:31
4F:推 abliou:可是看你的例子,rename後面的空白没有被取代掉阿? 07/01 11:41
5F:→ sosojopoor:抱歉笔误 2应该是instanceRef 07/01 13:35