双重查找实现复杂替换

  查找功能,大家一定都用过,但是,对于一些比较复杂的替换要求,你能用查找从容应对吗?举一个例子,一位网友从网上下载了一份化学试卷,其中的一些分子式没有应用正确的格式,如硫酸钠的分子式写成了Na2SO4,现在要把试卷中所有的分子式中的数字改成下标,应该怎么做呢?要知道,如果简单地选中所有数字,再设成下标的话,非分子式中的数字也会遭殃,用什么办法可以把它们区别开来呢?这就要用到双重查找的办法了。

  用WPS文字打开试卷文档。按Ctrl+F快捷键,调出“查找和替换”对话框,在“查找内容”中输入“^$^#”(不含外侧双引号,下同),并勾选“突出显示所有在该范围找到的项目”,在下面的下拉选项中选择“主文档”(图1),然后点击“查找全部”按钮,再点一下“关闭”按钮,即可一次性把所有英文字母后紧跟一个阿拉伯数字的组合选中。


  图1

  接下来,不要取消刚才的选择状态,再次按下Ctrl+F键,调出“查找和替换”对话框,在“查找内容”中输入“^#”,并勾选“突出显示所有在该范围找到的项目”,在下面的下拉选项中选择“当前所选范围”(图2),点击“查找全部”,再点“关闭”退出。


  图2

  此时,你会发现,所有分子式中的数字都被选中了,而其它位置上的数字则没有选中。点击“格式”菜单下的“字体”,在“字体”设置面板中勾选“下标”(图3),点“确定”按钮退出,所有的分子式数字下标一次性设置完毕,是不是很有效率?


  图3

  另一个例子是一个作家提出的。在她的小说中有一个人物叫王春芳。小说几乎写完的时候,她觉得应该给王春芳取个小名叫“小芳”,并把所有对话中的“王春芳”都改成“小芳”。但是,在非对话的叙述中,又要保留“王春芳”的大名。也就是说,凡是双引号中的“王春芳”都改成“小芳”,而引号外面的则不改。这要如何实现呢?利用双重查找法,同样可以轻松完成。

  用WPS打开小说文稿,按下Ctrl+F,在“查找内容”中输入““*””,勾选“突出显示所有在该范围找到的项目”,在下面的下拉选项中选择“主文档”,再点一下“高级”按钮,在“搜索选项”中勾选“使用通配符”(图4),然后点击“查找全部”按钮,再点“关闭”按钮退出。


  图4

  通过上一步操作,就把文章中所有的双引号以及其中的内容选中了。再次按下Ctrl+H键,调出“查找与替换”面板的“替换”选项卡,在“查找内容”中输入“王春芳”,在“替换为”中输入“小芳”(图5)。


  图5

  点击“全部替换”按钮,会弹出如图6所示的选择,此时一定要选择“取消”,否则前面的工作就前功尽弃了!


  图6

  怎么样?见识到双重查找的神威了吧?灵活运用它,可以完成许多“不可能完成”的任务呢,如果你又发现了好的用法,一定要告诉我哦。

时间: 2024-08-30 11:04:15

双重查找实现复杂替换的相关文章

ReSaveRemoteFile函数之asp实现查找文件保存替换的代码_应用技巧

'================================================     '函数名:ReSaveRemoteFile     '作  用:查找文件保存替换     '参  数:Str   ----原字符串     '参  数:url   ----当然网站URL     '参  数:Dir -----保存目录     '参  数:InSave ------是否保存,True,False     '返回值:格式化取后的字符串     '===============

js正则查找match()与替换replace()用法实例

本文实例讲述了js中正则的查找match()与替换replace()的用法.分享给大家供大家参考.具体如下: 复制代码 代码如下:<html> <head> <script type="text/javascript"> //string.match(正则):正则查找字符串,返回符合正则的字符或字符串 function t1(){  var con = document.getElementsByName('content')[0].value;//

jQuery实现查找链接文字替换属性的方法_jquery

本文实例讲述了jQuery实现查找链接文字替换属性的方法,分享给大家供大家参考,具体如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> &

js正则查找match()与替换replace()用法实例_正则表达式

本文实例讲述了js中正则的查找match()与替换replace()的用法.分享给大家供大家参考.具体如下: 复制代码 代码如下: <html> <head> <script type="text/javascript"> //string.match(正则):正则查找字符串,返回符合正则的字符或字符串 function t1(){  var con = document.getElementsByName('content')[0].value;/

《Vim实用技巧(第2版)》——1.5 查找并手动替换

1.5 查找并手动替换 Vim提供了一个 :substitute 命令专门用于查找替换任务,不过用上面介绍的技术,也可以手动修改第一处地方,然后再一个个地查找替换其他匹配项.. 命令可以把我们从繁重的工作中解放出来,而即将登场的另一个有用的单键命令,则能够让我们方便地在匹配项间跳转.在下面这段文本中,每一行都出现了单词"content". the_vim_way/1_copy_content.txt ...We're waiting for content before the sit

ReSaveRemoteFile函数之asp实现查找文件保存替换的代码

'================================================     '函数名:ReSaveRemoteFile     '作  用:查找文件保存替换     '参  数:Str   ----原字符串     '参  数:url   ----当然网站URL     '参  数:Dir -----保存目录     '参  数:InSave ------是否保存,True,False     '返回值:格式化取后的字符串     '===============

mysql中like和replace批量查找和批量替换

批量查找 通配符 说明 _    与任意单字符匹配   %    与包含一个或多个字符的字符串匹配   [ ]  与特定范围(例如,[a-f])或特定集(例如,[abcdef])中的任意单字符匹配.   [^]  与特定范围(例如,[^a-f])或特定集(例如,[^abcdef])之外的任意单字符匹配.  代码如下 复制代码 SELECT a.products_name FROM nike.products_description a WHERE a.products_name like '%#

java实现查找文本内容替换功能示例_java

思路: 先看视图层,要有一个JButton控件用来选择文件,一个JTextField控件显示选中文件的绝对路径,一个JLabel控件提示用户输入搜索文本,一个JLabel控件提示用户输入替换后的文本,一个JTextField标签供用户输入要搜索的文本,一个JTextField标签供用户输入替换后的文本,一个JButton控件执行替换,一个JButton控件用来打开修改后的文件.对于选择文件按钮,使用JButton类的addActionListener()方法为其绑定事件,在该事件中定义actio

关于有序二维矩阵查找和字符串替换的两道算法题

最近看一本书上写到的两个面试题 于是实现了一下 感觉思路很好,大牛略过 : 1.对于一个二维矩阵,从左到右  从上到下 都是递增的,如何判断一个值是否在矩阵内部?(C实现  实现复杂度 O(n)) bool FindInTwoDimensionalMatrix(int*pMatrix,int iRows,int iCols,int iFindVal) { bool bFind=false ; if(pMatrix==0||iRows<=0||iCols<=0) return bFind ; i