✌转载自Stata连享会:
目录
- 1. 引言
- 2. 内容转置
- 2.1转置姓名
- 2.2转置日期
- 3. 批量换行
- 3.1 题号后加换行符
- 3.2 选项前加换行符
1. 引言
在日常生活中,我们经常需要使用 Word 的查找与替换功能来处理一些简单数据。如果数据相对复杂,我们就需要借助 Word 的正则表达式。关于正则表达式,我们先来定义以下术语:
- 通配符:指的是可以用来代表一个或多个字的字符。例如,星号*通常代表一个或多个字符,问号?通常代表单个字符;
- 正则表达式:指的是可以用来查找和替换文本模式的文本字符和通配符组合。文本字符指的是必须存在于目标文本字符串中的文本,通配符指的是目标字符串中可能各不相同的文本。
描述 | 类型 | 示例 |
任一字符 | ? | s?t可找到 “sat” 和 “set” |
任何字符串 | * | s*d可找到 “sad” 和 “started” |
单词开头 | < | <(inter)可找到 “interesting” 和 “intercept”,但找不到 “splintered” |
单词结尾 | > | (in)>可找到 “in” 和 “within”,但找不到 “interesting” |
指定字符之一 | [ ] | w[io]n可找到 “win” 和 “won” |
此范围内的任一字符 | [-] | [r-t]ight可找到 “right” 和 “sight”,范围必须是升序 |
除了括号内范围中的字符之外的任一字符 | [!x-z] | t[!a-m]ck可找到 “tock” 和 “tuck”,但找不到 “tack” 或 “tick” |
前一个字符或表达式的 n 个匹配项 | {n} | fe{2}d可找到 “feed”,但找不到 “fed” |
前一个字符或表达式的至少 n 个匹配项 | {n,} | fe{1,}d可找到 “fed” 和 “feed” |
前一个字符或表达式的 n 到 m 个匹配项 | {n,m} | 10{1,3}可找到 “10”、”100″ 和 “1000” |
前一个字符或表达式的一个或多个匹配项 | @ | lo@t可找到 “lot” 和 “loot” |
2. 内容转置
本节介绍了如何使用正则表达式转置姓名、转置日期。
2.1 转置姓名
第一步,启动 Word,打开一个新的空白文档。复制此文字,将它粘贴到该文档中。
JoshBarnhillDorisHartwigTamaraJohnstonDanielShimshoni
第二步,在「开始」选项卡上的「编辑」组中,单击「替换」以打开「查找和替换」对话框。
第三步,选中「使用通配符」复选框。若没有看到「使用通配符」复选框,请单击「更多」,然后选中该复选框。没有选中该复选框时,Word 会将通配符视作文本。
第四步,在「查找内容」框中键入(<*>) (<*>)。注:两组括号之间包含了空格。
第五步,在「替换为」框中,键入\2, \1。注:在逗号和第二个斜杠之间包含了空格。然后单击「全部替换」。Word 会转置这些姓名并使用逗号分隔它们。
关于正则表达式,在第一个表达式(<*>) (<*>)中:
- 星号*代表任意字符串,会返回单词中的全部文本;
- 小于和大于符号< >分别标记了每个单词的开始和结束。它们确保搜索会返回单个单词;
- 它们之间的括号和空格将单词拆分成不同的组,即 (第一个单词) 和 (第二个单词)。
在第二个表达式\2, \1中:
- 斜杠\与数字放在一起充当占位符;
- 第一个占位符后的逗号,是在两个被转置的姓名之间插入想添加的标点符号;
- 该表达式含义是,写入第二个单词,添加逗号,写入第一个单词。
2.2 转置日期
第一步,启动 Word,打开一个新的空白文档。复制此文字,将它粘贴到该文档中。注意粘贴时只保留文本。
28thMay 20031stJun 20082ndFeb 20103rdApr 2020
第二步,按照上文描述打开「查找和替换」对话框,并选中「使用通配符」复选框。
第三步,在「查找内容」框中键入([0-9]{1,2})([dhnrst]{2}) (<[ADFJMNOS]*>) ([0-9]{4})。
第四步,在「替换为」框中,键入\3 \1, \4。注:确保在每个字符集之间插入空格。
第五步,单击「全部替换」。
关于正则表达式,第一个表达式([0-9]{1,2})([dhnrst]{2}) (<[ADFJMNOS]*>) ([0-9]{4})的作用是将日期分解为四个部分,由多组括号来表示。具体来看:
- 第一部分([0-9]{1,2})。数字范围[0-9]匹配第一个模式中的一位数数字。因为日期可以由两个数字组成,我们让搜索返回一位数或两位数的日期{1,2};
- 第二部分由序数词组成。序数词包含 “th”、”nd”、”st” 和 “rd”,因此我们将这些字母添加到范围[dhnrst]中。因为序数词总是由两个字母组成,我们将字母计数限制为 2,即([dhnrst]{2});
- 第三部分是查找月份名的文本字符和通配符。所有月份名都以这些大写字母开头 “ADFJMNOS”。我们不知道每个大写字母后有多少个字符,因此我们在它们之后使用星号*。我们只对月份名本身感兴趣,因此我们使用<和>字符来将结果限制为单个单词,即(<[ADFJMNOS]*>);
- 星号*代表任意字符串,会返回单词中的全部文本;
- 小于和大于符号< >分别标记了每个单词的开始和结束,它们确保搜索会返回单个单词;
- 第四部分为年。我们使用相同的数字范围,但这次我们将计数限制为四个字符([0-9]{4})。
在第二个表达式\2, \1中:
- 斜杠\与数字放在一起充当占位符;
- 第一个占位符后的逗号在两个被转置的姓名之间插入想添加的标点符号;
- 该表达式的含义是,写入第二个单词,添加逗号,写入第一个单词。
3. 批量换行
本节介绍了如何使用正则表达式将 “题号” 替换成 “题号、+换行” 和将选项 “B.” 替换成 “换行符+B.”。
3.1 题号后加换行符
第一步,启动 Word,打开一个新的空白文档。复制此文字,将它粘贴到该文档中。
5、风险管理的主体是( )A、法人B、个人C、任何组织和个人D、组织6、风险管理效益的大小,取决于( )A、是否能以最小风险成本取得最大安全保障B、是否能以最小风险成本取得最小安全保障C、是否能以最大风险成本取得最小安全保障D、是否能以最大风险成本取得最大安全保障7、风险管理的方法分为( )A、控制型和财务型B、自留型和转移型C、控制型和转移型D、自留型和控制型8、利用签订销售、建筑、运输合同处理风险的风险管理方法是( )A、财务型保险转移风险B、财务型非保险转移风险C、避免型风险管理D、控制型风险管理
第二步,按照上文描述打开「查找和替换」对话框,并选中「使用通配符」复选框。
第三步,在「查找内容」框中键入(<[0-9]{1,2}>、)。
第四步,在「替换为」框中,键入\1^p。注:确保在每个字符集之间插入空格。
第五步,单击「全部替换」。
关于正则表达式,在第一个表达式(<[0-9]{1,2}>、)中:
- 小于和大于符号< >分别标记了每个单词的开始和结束;
- [0-9]代表匹配从 0 到 9 的数字;
- {1,2}代表数字有 1 到 2 位。如果是{1,7},就是数字有 1 到 7 位;
- 顿号、则就代表字符串 “、”。
在第二个表达式\1^p中:
- \1代表第一个变量;
- ^p代表段落标记符号。
3.2 选项前加换行符
第一步,按照上文描述打开「查找和替换」对话框,并选中「使用通配符」复选框。
第二步,在「查找内容」框中键入(<[BCD]{1,1}>)。
第三步,在「替换为」框中,键入^p\1。注:确保在每个字符集之间插入空格。
第四步,单击「全部替换」。
✌转载自Stata连享会:
✌ 纯属练习Markdown,文章内容也经过精心挑选
✌ 为实现页面中的跳转,利用HTML语法的a标签实现,可惜没效果,知道原因的条友请告知
注意: 据Typora官方问档显示,可以用a标签实现上述方法,不可以用HTML里的span标签
声明:本文部分素材转载自互联网,如有侵权立即删除 。
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
7. 如遇到加密压缩包,请使用WINRAR解压,如遇到无法解压的请联系管理员!
8. 精力有限,不少源码未能详细测试(解密),不能分辨部分源码是病毒还是误报,所以没有进行任何修改,大家使用前请进行甄别
丞旭猿论坛
暂无评论内容