请问如何转换掉括号之外的字符串

明了点。谢谢。牛


QUOTE:
原帖由 老手 于 2007-12-13 11:34 发表


设计思路是:

根据所处理字符串的特点, 将其分解成 "括号前" "某个括号住的内容" "括号后"三部分; 分别处理前后两部分,再与不处理的括号部分拼接而成.

这里说的"括号前""括号后" 是针对某一个括号而言 ...

赞详细


QUOTE:
原帖由 老手 于 2007-12-13 11:34 发表


设计思路是:

根据所处理字符串的特点, 将其分解成 "括号前" "某个括号住的内容" "括号后"三部分; 分别处理前后两部分,再与不处理的括号部分拼接而成.

这里说的"括号前""括号后" 是针对某一个括号而言 ...

太赞了
下班后回家好好看看
不过我现在测试代码
兄台处理这样的好象有点小问题
比如说

(ROM )
(CD-ROM )
(11001 )
(11001110 )
(PASCAL)d3efd1d4
babad7d6b9fabccac2eb
(3 )
(16 )
d3a2cec4d7d6c4b8bacdcafdd7d6
(1 )
(2020B )
c4dab4e6b4a2c6f7bacdd4cbcbe3c6f7
b9a4bedfc8edbcfe
cec4d7d6b4a6c0edc8edbcfe
b9e2b1ca
d3cecfb7c8edbcfe
(Unix )

这样的


QUOTE:
原帖由 redicaps 于 2007-12-12 22:07 发表
改一下,刚才走了个弯路


my $str=q/
b7eba1a4c5b5d2c0c2fcd4adc0edd6d0a3acbcc6cbe3bbfad3a6b0fcc0a8(__abcd__)b5c8b9a6c4dcb2bfbcfea1a3
b0b4d5d5d6b8b7a8d2aac7f3a3acbbf7b4f2bfd5b8f1bcfca3acd3a6ca ...

非常感谢
好用
正则真是博大精深
学习学习再学习


QUOTE:
原帖由 roby 于 2007-12-13 13:27 发表


太赞了
下班后回家好好看看
不过我现在测试代码
兄台处理这样的好象有点小问题
比如说

(ROM )
(CD-ROM )
(11001 )
(11001110 )
(PASCAL)d3efd1d4
babad7d6b9fabccac2eb
(3 )
(16 )
d3a2ce ...

从算法角度是没有问题的 . 但如果用C语言, 我是不会这样写的 , 我会一遍扫描过去 .

[one@es02 perl]$ ./to_ascii6.pl

(ROM )
(CD-ROM )
(11001 )
(11001110 )
(PASCAL)语言
汉字国际码
(3 )
(16 )
英文字母和数字
(1 )
(2020B )
内存储器和运算器
工具软件
文字处理软件
光笔
游戏软件
(Unix )

你可能认为有的一行就只有括号 , 而没有"前后" , 所以不能处理.
其实 , 这种情况也有"前后" , 只不过它们都为undef而已. 上面的代码一样可以处理.



QUOTE:
原帖由 roby 于 2007-12-13 13:35 发表



非常感谢
好用
正则真是博大精深
学习学习再学习

他的思路很独特.
我发现我现在做的这个活,我一开始思路出了问题,绕了很多弯路
等下有空了,换个思路去试试
应该能省掉些麻烦

思路真的很重要呀
不能急着动手

再次感谢楼上所有的朋友
学习到了不少