TA的每日心情 | 无聊 2022-7-21 15:56 |
---|
签到天数: 216 天 [LV.7]常住居民III
状元
  
- 积分
- 16738
|
本帖最后由 wjl 于 2021-8-9 13:12 编辑
正则学起来慢,几天不用很快就会忘掉。特此记录存档,以备后用。
1. 如何将MdxSourceBuilder的格式2(若词条格式为'页码 + 分隔符 + 单个中或英关键词'的啰嗦行格式,则设为2)的文件转换为格式0(若词条格式为'一行页码 + 多行关键词(每行一个关键词)'的标准词条格式,则设为0)的文件?
选中CSV格式的页码列,选择右键菜单中的 排序>按出现次数降序排序,记下页面单词数最多多少个,接下来替换操作时需要参考该数字。此处为14
查找:^.+?\t(\d+)\t\d\n(.+?\t\1\t\d\n)*
替换为:\1\n\0
执行全部替换之前需要将 高级 中的 搜索正则表达式的附加行:设置为大于上面记录的最多单词数的数字。比如20
然后删除页码:
查找:^(.+?)\t\d+\t(\d+)$
替换为:\1;\2;
最终效果为
1
阿那贝律;1;
暗典;1;
暗韵;1;
按断副词;2;
按断句;2;
2
按断式;1;
按断语气;2;
按断助词;2;
按语;2;
替换为这种格式是为了方便后续对栏位进行相关操作。
![]()
2.如何将页码变为四位数,位数不够的前面补0?
查找:^(\d+)
替换为:\J ("0000000000000000"+"\0").slice(-4)
![]()
3.一个文本有多行,如何只选取奇数行或偶数行数据?
选取奇数行
查找:(^.*?$\n)(^.*?$\n)
全部选择
Ctrl+←
Shift+End
选取偶数行
查找:(^.*?$\n)(^.*?$\n)
全部选择
Ctrl+←
↓
Shift+End |
评分
-
1
查看全部评分
-
|