1 / 4
去掉
去掉去掉
去掉[]中的英文字符
中的英文字符中的英文字符
中的英文字符
最近在信息科技大学上传智.Net 就业班的课程,中午有位信息科技大学的老
师问我关于正则表达式的问题. 问题大致这么描述的:
有一个字符串
有一个字符串有一个字符串
有一个字符串,
,,
,里面是中文与英文的混排内容
里面是中文与英文的混排内容里面是中文与英文的混排内容
里面是中文与英文的混排内容,
,,
,中间包含几对中括号
中间包含几对中括号中间包含几对中括号
中间包含几对中括号(
((
(方
方方
方
括号
括号括号
括号),
),),
),现在有个需求
现在有个需求现在有个需求
现在有个需求,
,,
,就是移除中括号中所有的英文字符
就是移除中括号中所有的英文字符就是移除中括号中所有的英文字符
就是移除中括号中所有的英文字符,
,,
,保留其他数据
保留其他数据保留其他数据
保留其他数据.
我一看就觉得可以完成,但是随手一写发现有点问题,可能处于数学出身的
原因,总想把问题尽量写得全面,我中午吃饭的时候就在考虑该怎么些比较好.
这里给出我思考这个问题的思路,看看有没有给大家一点启发.
化归思想
化归思想化归思想
化归思想
数学里面有个很重要的思想,就是“化归”思想. 什么是化归呢?简单的说,
就是将复杂的问题进行归纳总结,将其变成一些简单的问题的组合,然后简单问
题解决了,复杂问题也就解决了.
有朋友就会说了:“看了数学头痛,还跟我提什么化归思想… …”
其实不然,只是化归思想这个名字很吓人——数学思想啊,其实她很基础,
因为我们天天都在用这个思想. 来一个生活中的例子,想知道一个超市的商品质
量和价格好与不好,怎么考究?显然这个咱们没有办法一个个检验,但是我们看
得到,可以比较. 如果这个超市总是人很多,而且消费者投诉也很少,那我们就
可以下结论了,这个超市不错. 再比如说,面向对象中的一个概念,C#中继承具
有传递性,这个怎么理解?其实很简单,因为继承,子类包含了父类的成员,那
么一直下去,孙子类继承子类,就包含了子类成员,即是孙子类包含了父类成员,
因此就有了结论,派生类都具有基类成员,自然传递性就很好理解了.
问题化归
问题化归问题化归
问题化归
那么说过了这么多和解决这个问题有什么关系呢?显然我解决这个问题使
用了化归的思想. 关键是这个问题有什么难点呢?
我们先来看一个例子: