--start
今天遇到一个说简单不简单,说难不难的问题,问题是这样的,有一个文件,格式如下:
引用
1109,2009/4/15,15:51,当社,その他,振込,"25万入金。(03)9月、10月分充当、(02)2月不足分、
3月分、4月利息一部に充当 "
442,2009/4/15,17:41,自宅,本人,電話架,"留守電に16日か17日のどちらに来社されるか絡くれと入れる。 "
1109,2009/4/16,12:36,当社,本人,来社,"(阿部さん同席)納税金は10月までに分割で払うつもりでいる延滞し
11月の更新もできません。そうした場合、何かえありますか?一番いい方法はありますか?ご家族に相談して
1109,2009/4/27,9:09,当社,本人,電話受,"5月1日に延滞分と、あと差押分も払予定です。金に関しては、銀行
555,2009/4/27,10:03,当社,本人,電話受,"FAX受け取りました。5月分はまた別でいいですか?連休明け
1109,2009/4/28,10:03,自宅,本人,文書送達,"ライフ住宅ローンから融資検討可の返事がたので、事前相談表
333,2009/4/28,12:08,自宅,本人,文書送達,見えにくいので郵送してくれとのこと。
1109,2009/4/30,16:12,当社,本人,電話受,"入金確認しました。税金滞納分も払いました。FAXした方がい
1109,2009/4/30,16:21,当社,本人,文書受領,"納付書確認。途電話あり。帯債務者の件は、GW明けにまた連絡
1109,2009/5/7,9:38,当社,本人,電話受,"今日入金しますとの連絡。社の件はもう少し待ってほしいとのこと
1109,2009/6/16,9:22,当社,本人,電話受,"今週中に290万ぐらいいれて、残高を500万ぐらいにますとのこと。
500万になったら返済はどうなるか折り返し電話る。 "
333,2009/6/16,13:15,当社,本人,電話受,"書面見ました。大体わかりましたので、検討してた連絡しますと
1109,2009/6/18,17:41,当社,その他,振込,"992,453円入金あり。
100万口完済。消の件、書面自宅にファックス。 "
344,2009/6/19,16:54,当社,本人,電話受,"今日も入金確認してますか?今日は入ってません。息子さんが入
文件大约有几万行,现在要求你把类似第2,5,14,17行提升到上一行。我使用的文本编辑器是 EmEditor,如果要查询正常的行则非常简单,只要查询以若干个数字开头,后接一个逗号的行,使用如下正则表达式:
^\d+,如果要查询不正常的行,我想使用如下的正则表达式应该可以:
^[^\d+,] 然而却不行,后来我想是不是因为缺少括号,于是如下的正则表示式:
^[^(\d+,)] 结果还是不行,琢磨了半天也没写出这个正则表达式到底该怎么写,没有办法,只好请教我们部长,就在我给他陈述这个问题的时候,我突然明白,之所以没有找出不正常的行是因为它们也是以数字开头,正常的行也是以数字开头,既然我们能找出正常的行,我们可以给正常的行加个前缀,让它不以数字开头不就可以了吗?整个过程如下:
--
第一步:目的是给正常的行加前缀,让它们不以数字开头
引用
Find:^(\d+,)
Replace with:GGGG\1
--
第二步:把不正常的行提升到上一行
引用
Find:\n(\d)
Replace with:\1
--
第三步:把正常的行前缀去掉
引用
Find:^GGGG
Replace with:
后来,我们部长提供了另一种解决方案,如下:
--
第一步:给正常的行加前缀,目的是表示换行位置
引用
Find:^(\d+,)
Replace with:GGGG\1
--
第二步:把所有的换行符都替换了
引用
Find:\n
Replace with:
--
第三步:把第一步加的前缀替换成换行符
引用
Find:GGGG
Replace with:\n
无论哪种解决方案,都增加了中间步骤,最开始我就想一步达到目的,所以想了好半天也没想出这个表达式该怎么写。通过这个案例,给我的思考是:发现问题的真正所在,有时候不一定要一次达到目的,可以增加中间目标,一步一步实现。当然,哪位朋友有更好的解决方案,请一定要告诉我。
--
声明:转载请注明出处。
--last updated 2009.11.25
--written by wave at 2009.11.25
--end
分享到:
相关推荐
2. 认真倾听客户说话,因为客户在说的时候,他多半同时在想自己要什么东西,同时我们要做好记录,会议完成之后我们要整理出用户真正想要的东西是什么。 六、客户要这干什么用 1. 听完所有的需求,提炼出客户所要...
可以增加几条线后再选中要放样的线,然后点有下角的确定,就返回到了线放样界面,根据起点距离和终点距离还有偏离距来调整移动站的位置(起点距是移动站所在的位置与线起点的连线,终点距是终点和移动站坐在位置的...
通常,我们需要根据问题所求设置未知数,有时候也会选择设立中间变量来简化方程。 一元一次方程在初一阶段的应用题型广泛,包括但不限于以下几种常见类型: 1. 行程问题:涉及三个基本量——路程、时间和速度。...
有时候,随着业务需求的变化,我们可能需要在已有的表中新增一些字段以存储新的信息。在Oracle中,这同样可以通过`ALTER TABLE`语句来实现。 #### 2.2 SQL语法示例 根据题目描述,我们需要向表`T1`中添加名为`g`的...
然而出乎我的意料,它面世后重印多次,甚至一度登上销量排行榜的榜首,这让我觉得它的确有一定的参考价值,我要借此机会感谢所有支持我的读者。 在我写作《自己动手写操作系统》的时候,并没有想过今天会有一个第二...
第五关则是对乘法运算的直观理解,通过比较1到9的和与所有数字相乘的积,让学生明白即使是看似复杂的乘法,有时候结果也可以很容易判断。 知识回顾部分总结了三个关键点: 1. 0与任何数相乘都得0。 2. 0与任何数...
然而出乎我的意料,它面世后重印多次,甚至一度登上销量排行榜的榜首,这让我觉得它的确有一定的参考价值,我要借此机会感谢所有支持我的读者。 在我写作《自己动手写操作系统》的时候,并没有想过今天会有一个第二...
数据仓库是一个解决企业数据问题应用的过程,是企业信息化发展到一定阶段必不可少的一步,也是发展数据化管理的重要基础。为实现数据仓库的实施,需要遵循一定的步骤和方法论。 一、需求分析 需求分析是数据仓库...
知识目标要求学生不但要掌握除数是两位数的除法,还要理解商中间出现零的计算方法,即在除法过程中,当某一位上被除数不足以商一的时候,需在该位上补零的占位。能力目标则要求学生能够实际操作这类除法计算,保证...
项目文献途径及名称是指您打算把这个项目存在哪个地方,建议在做设计的时候,单独起一个文献夹,把新建项目名称包含在内。 Step 2: 设计项目 点击“设计”,进入主线平面设计界面。在这里,您可以选择拾取键,拾取...
10. 继电器座是安装到导轨上的,这里基准点就选择为 3D 图形中间位置,这样放置的时候会以这个点去捕捉导轨或者其他 3D 图形的点。 11. 点击西南等轴,(选择菜单栏“视图”---3D 视角---西南等轴),检查一下 3D ...
在准备阶段完成后,我们可以看到一体机的两边各有两个十字螺丝孔。这时候我们需要使用十字螺丝刀来完全扭开螺丝。需要注意的是,螺丝一定要完全扭开,否则可能会在打开机箱时损坏机箱。 三、机箱开启 在螺丝完全扭...
- **操作系统更新和补丁**:保持操作系统和所有相关更新的最新状态,有时候也能解决这类问题。 总的来说,处理"Csc.exe已停止工作"的问题需要一定的排查技巧,结合日志信息和错误报告来定位具体原因。如果上述步骤...
3、直接插入等高线,不一定先选择两条线,可以先点工具后再选择线,也不要改线方向。 操作步骤: 1、 执行菜单 “1辅助工具\插入等高线”,接着拉框选择两条线。弹出等高线参数设置对话框后,内容如下: 线拐点,只...
- 当希望创建一个可以复用的类,该类可以与其他不相关的类或不可预见的类(即那些接口可能不一定兼容的类)协同工作时。 **优点**: - 可以让任何两个没有关联的类一起运行。 - 增加了类的透明度。 **缺点**: - ...
- 有时候适当放宽或增加约束可以帮助我们更清楚地理解问题。 #### 第二节 动态规划分类讨论 **一、状态是一维的:** 1. **下降/非降子序列问题:** - 问题描述:在一个无序序列中找到最长的下降或非降子序列。 ...
在做外联如EXCEL等的时候对数据有一些要求,确保第一行包含字段名,这些字段名不能超过十个字母,不能出现特殊字符。最好把EXCEL保存为.csv文件去除一些不兼容的内容再连接。 转载ESRI论坛Lucy1114帖子说明: 12...
在构建一个基于PHP的CMS(内容管理系统)时,有时候我们需要对敏感资源,如视频或音频文件,进行安全保护,防止未经许可的用户直接获取播放地址。"基于PHP的CMS隐藏播放地址,完美Ajax异步获取播放地址方法源码.zip...
目标是将所有圆盘从起始柱子移动到第三个柱子,但每次只能移动一个圆盘,并且任何时候大盘子都不能位于小盘子之上。这个问题通常用递归算法来解决,即通过将大问题分解为小问题来逐步完成。 在设计汉诺塔模拟程序时...