分类: WINDOWS
2012-02-26 15:59:51
一、个人笔记
1、在使用通配符的情况下,^p不可用,可用^13代替;
WORD中^13与^p的区别
首先这两个东西肯定不是完全一样的。
在应用方面,我个人的感觉,查找内容里尽量用^13,而替换为里尽量用^p。
这样会最大限度地减少麻烦!
^13和^p在VBA中的VBA.ASC值是一致的,它们都返回13,因此,在通配符查找过程中,以^13代替^p。
^13在正常的Word文件中,或者以Word打开的文件中,均被Word转换为^p,段落标记是一个段落所有样式和格式的信息载体。
^13广泛存在于各类程序中,如文本文件、MSN中、QQ等及时通讯工具中,当它们被复制到Word程序时,有可能因转换问题而引起Word中出现^13,如果我们以复制,选择性粘贴的方式进行粘贴时,可以转换为^p,当然可以使用查找与替换。
存在于WORD中的^13(非段落标记),可以在^13(状同段落标记一致)后面使用光标定位,另外在工具/字数统计中的段落数与实际“段落”不符。
2、<>查找字符串,例如此例中,关键词跟“<江山>*多娇”效果一样。
3、指定字符之一:“[]”框内的字符可以是指定要查找的字符之一,如:
输入“[中美]国”就可以找到“中国”、“美国”。又如:
输入“th[iu]g”,就可查找到“thigh”和“thug”。
输入“[学硕博]士”,查找到的将会是学士、士、硕士、博士。
输入“[大中小]学”可以查找到“大学”、“中学”或“小学”,但不查找“求学”、“开学”等。
输入“[高矮]个”的话,Word查找工具就可以找到“高个”、“矮个”等内容。
4、指定范围内的任意单个字符:“[x-x]”可以指定某一范围内的任意单个字符,如:
输入“[a-e]ay”就可以找到“bay”、“day”等字符,要注意的是指定范围内的字符必须用升序。用升序。如:
输入“[a-c]mend”的话,Word查找工具就可以找到“amend”、“bmend”、“cmend”等字符内容。
5、排除指定范围内的任意单个字符:“[!x-x]”可以用来排除指定范围内的任意单个字符,如:
输入“[!c-f]”就可以找到“bay”、“gay”、“lay”等字符,但是不等字符,但是不会找到“cay”、“day”等字符。要注意范围必须用升序。
又如:
输入“[!a-c]”的话,word程序就可以找到“good”、“see”、“these”等目标字符,而所有包含字符a、b、c之类的内容都不会在查找结果中出现。
又如:
输入“m[!a]st”,用,用来查找“mist”和“most”不会查找“mast”。
输入“[!a]n”,查到的将会是除an以外的所有可能组合如:合如:in、on等。
6、指定前一字符的个数:“{n}”可以用来指定要查找的字符中包含前一字符的个数,如:
输入“cho{1}se”就是说包含1个前一字符“o”,可以找到“chose”,输入“cho{2}se”就是说包含2个前一字符“o”,可以找到,“choose”。
又如:
输入“lit{1}le”就是说包含1个前一字符“t”,可以找到“litle”。
输入“lit{2}le”就是说包含2个前一字符“t”,可以找到“little”。
输入“te{2}n”,表示查找“teen”而不会查找“ten”。
输入“of{2}ice”,查找到的将会是office。
7、指定前一字符、指定前一字符数范围:“{x,x}”可以用指定要查找字符中前一字符数范围,如:
输入“cho{1,2}”,则说明包含前一字符“o”数目范围是1-2个,则可以找到“chose”、“choose”。
8、一个以上的前一字符:“@”可以用来指定要查找字符中包含一个以上的前一字符,如:
输入“cho@se”,就可以找到,“chose”、“choose”等字符。
二、使用代码搜索 1.可以在“查找内容”或“替换为”框中使用的代码 段落标记 键入 ^p(选中“使用通配符”复选框时在“查找内容”框中无效)或键入 ^13 制表符 键入 ^t 或键入 ^9 ASCII 字符 键入 ^nnn,其中 nnn 是字符代码 ANSI Character 键入^0nnn,其中nnn是字符代码 长划线(—) 键入^+ 短划线(–) 键入^= 脱字号 键入^^ 手动换行符 键入^l或键入^11 分栏符 键入^n或键入^14 分页符或分节符 键入^12(替换时,插入分页符) 手动分页符 键入^m(当选中“使用通配符”复选框时,还将查找或替换分节符) 不间断空格 键入^s 不间断连字符 键入^~ 可选连字符 键入^- 2.只能在“查找内容”框中使用的代码(选中“使用通配符”复选框时) 图片或图形(仅嵌入) 键入^g 3.只能在“查找内容”框中使用的代码(清除“使用通配符”复选框时) 任意字符 键入^? 任意数字 键入^# 任意字 键入^$ Unicode字符 键入^Unnnn,其中“nnnn”是字符代码 图片或图形(仅嵌入) 键入^1 脚注标记 键入^f或键入^2 尾注标记 键入^e 域 键入^d 正在打开域大括号(当域代码可见时) 键入^19 正在关闭域大括号(当域代码可见时) 键入^21 批注 键入^a或键入^5 分节符 键入^b 全角空格(Unicode) 键入^u8195 半角空格(Unicode) 键入^u8194 白色空格 键入^w(可以是常规空格、不间断空格以及制表符的任意组合) 4.只能在“替换为”框中使用的代码 “Windows剪贴板”的内容 键入^c “查找内容”框的内容 键入^& 注释 如果包含可选连字符代码,Word只会找到在指定位置带有可选连字符的文字。如果省略可选连字符代码,Word将找到所有匹配的文字,包括带有可选连字符的文字。 如果要查找域,必须显示域代码(域代码:为占位符文本,显示数据源的指定信息的显示位置;或者为生成字段结果的字段中的元素。域代码包括字段字符、
字段类型和指令)。若要在显示域代码和域结果(域结果:当Microsoft Word
执行域指令时,在文档中插入的文字或图形。在打印文档或隐藏域代码时,将以域结果替换域代码。)之间切换,请单击该域,然后按
Shift+F9。若要显示或隐藏文档中所有域的域代码,请按 Alt+F9。 在查找图形时,Word 只查找嵌入图形,而不能查找浮动图形。在默认情况下,Word 将导入的图形作为嵌入图形插入,但是可以将浮动图形转换为嵌入图形。 如要查找使用 Unicode 值的字符,请选择“区分大小写”复选框。如果清除“区分大小写”复选框,Word 将搜索该值指定的所有大写字符和小写字符的实例。 连续重复的字******************************************************* 我发现在查找时,如果使用*与?的后面接着跟{}时,可以不用逗号。 如: (?{1})\1 (?{1,})\1 (*{1})\1 (*{1,})\1 这四个是查找的效果是一样的。 注意:除?与*之外的其他字符必须使用正规的方法。 查找重复段落***************************************************** 1、把每个段落标记替换为二个(查找内容“^p”,替换为“^p^p”) 2、把光标放在文章开始处(Ctrl+Home),因为WORD默认是从光标开始处查找。或者全选文档(Ctrl+A)。 [正式开始] 如果是连续的重复段落: 点击:编辑-替换 勾选通配符 查找内容:(^13[!^13]@^13){2,} 替换为:\1 全部替换 重复一下,看看有没有替换干净(一个段落一般不会重复255次以上吧,呵呵),不行就再来几次,直到 替换处数为0。 如果是不连续的重复段落: 点击:编辑-替换 勾选通配符 查找内容:(^13[!^13]@^13)(*)\1 替换为:^13\1\2 ^13表示段落标记,[!]表示“非”,[!^13]表示段落标记之外的任意单个字符;@表示一个以上的前一字符或表达式,它跟[!^13]一起表
示一个以上的段落标记之外的字符,^13[!^13]@^13也就是包含前后段落标记的、有任意个字符的、非空的段落;用圆括号将其括起来
(^13[!^13]@^13),意思是将这一部分加以标识,这是我们标识的第一部分,下面替换为框中的\1代表的就是它! 查找重复字************************ 替换——选中高级的使用通配符——查找替换内容输入按以下说明。 ([! ])(*)\1 或者 ([! ])*\1或者 (?)*\1或者 (??])*\1 查找到的是相同字符和他们中间的部分。\1的内容是第一个()里面的内容,而且第一个()不能省,*可以改为一个或多个?,意义各不同。替换可以为\1或\2等。
9、指定起始字符串:“<”可以用来指定要查找字符中的起始字符串,如:
输入“
10、指定结尾字符串:“>”可以用来指定要查找字符中的结尾字符串,如:
输入“er>”,就说明要查找的字符的结尾字符为“er”,可以找到“ver”、“her”、“lover”等等。
输入“en>”,就说明要查找到以“en”结尾的所有目标对象,可能找到“ten”、“pen”、“men”
输入“up>”,就说明要查找到以“up”结尾的所有目标对象,例如会找到“setup”、“cup”等等。
11、表达式查找:“()”,尤其用于多个关键词的组合查找。
键入“(America)(China)”,在“替换为”中键入“\2\1”,Word找到“AmericaChina”并替换为“ChinaAmerica”。
另外为了更精确的查找,你还可以把以上的通配符联合起来使用,如:
输
入“<(ag)*(er)>”则表示查找所有以“ag”开头并且以“er”结尾的单词,注意这时需要用括号将来区分开不同的查找规则。最后还
要注意如果要查找已经被定义为通配符的字符,如“*”、“?”等字符,必须在该字符前面加上反斜杠“\”,如:输入“\*”则表示查找字符“*”。
{n,}代表至少 n
个前一字符或表达式,那么{2,}当然就表示2个以上这样的段落(括号括起来的部分),注意,应该是完全相同的段落!注意这里的{2,}不可以用@来替
代,如果用@的话,因为它也包括“一个”的情况,那么在执行的时候,所有的不重复的段落也会被它自己替换一遍,执行效率要大打折扣!
题外话:正则表达式里要是有一个代码表示“两个或两个以上”的意思,该多好啊!
马马冠军啊了解马马
另外,这段代码里,[!^13]这个思想我自己觉得用的比较好!电脑也好判断啊,呵呵!