楼主 君柳 |
Q:如何将字符串中的每个字符填充到对应的单元格? A: 1、先将数据复制到WORD中,查找替换:查找内容为" (?) ",替换为替换内容改为"^& ^t" ,使用通配符。 2、再复制回EXcel中,选择性粘贴--文本。 具体操作见动画: |
2楼 rabbitllu |
很神奇, 这个是代表空格吗?谢谢 |
3楼 0Mouse |
不是代表空格,该替换操作是将查找到的任意一个单字符替换为该字符(即查找内容^&)加上一个制表位(^t)。 制表位和空格是有区别的,单击“显示/隐藏编辑标记按钮”使之处于选中状态(快捷键:Ctrl+Shift+8)则可看出空格与制表位的区别(图1)。 图1:显示编辑标记状态下,制表位与空格的区别 “查找内容”输入框中使用了“表达式()”,故该“替换为”输入框中的“^&^t”也可以写成“\1^t”。 查找内容表达式用(?)包括了每段结束处的段落标记,所以全部替换后,从第二段开始,段落起始处都多出了一个制表位,导致将内容拷贝至Excel后,还要执行一次删除操作,“查找-替换”对话框设置如下可以免去此删除操作。(图2) 图2:“查找-替换”对话框改良设置 如果在Word中替换后再执行一次“文本转换成表格”,则将数据拷贝后在Excel中直接粘贴即可,无需“选择性粘贴”。代码优化.png |
4楼 0Mouse |
本问题直接用Excel函数解决也不算麻烦。 B1公式:
效果截图: 附件: result.rar |
5楼 rabbitllu |
谢谢小千细致的解答,真是帅呆了,学习了在WORD中使用如何使用通配符查找。^&和\1是单字符查找吧,\2就是两个字符吧。\是不是相当于E中的~强制符呢。 这里()是不是也是强制符的作用,可以写成\?查找呢? 小千的查找内容是:[!^13] 这里^13是段落标记,前面为什么要加!并用[]括起来呢? |
6楼 0Mouse |
^&代表“查找内容”,具体查找什么取决于“查找内容”框内输入的式子,所以不一定是指查找任意单字符。 \1代表“查找内容”框内输入的式子中的第一个()所括起来的内容,如果式子中有两个(),则\2表示第二个()所括起来的内容。 Word查找-替换中,勾选与不勾选通配符状态下的各种符号很丰富,单击“查找和替换”对话框中的“特殊格式”按钮可以看到各种符号的含义。 |
7楼 0Mouse |
“查找内容”里用()是为了在“替换为”里用\n进行引用。(只有一个括号,就是\1,如果有两个括号,则\1代表“查找内容”里第一个括号内的内容,\2代表“查找内容”里第二个括号内的内容,依此类推。) 勾选通配符时,[!]表示“非”,如[!A]表示“非A”、“不是字母A”、“字母A以来的内容”,而勾选通配符时,^13代表“段落标记”,[!^13]代表“非段落标记”,所以“查找内容”框内输入[!^13]表示查找段落标记以外的任意内容。 |
8楼 rabbitllu |
太精彩了,谢谢小千的讲解,学习了WORD中的替换,特殊格式中的各种符号太丰富了,需要再体会。 |