有点尴尬,我一直在使用眼动仪收集数据,它的输出是 .txt 文件(Excel 也是一个选项,但样本太多,所以只能用记事本)。我需要将所有样本显示为数字。每个“样本”都是瞳孔大小的测量值,每两毫秒采集一次。在机器偶尔失去对某人眼睛的跟踪一两秒的情况下,我突然得到了几百个周期而不是数字。
例如:
Sub5 91.00 3300039.00 3287753
Sub5 94.00 3300041.00 3287753
Sub5 97.00 3300043.00 3287753
Sub5 97.00 3300045.00 3287753
Sub5 97.00 3300047.00 3287753
Sub5 . 3300049.00 3287753
Sub5 . 3300051.00 3287753
Sub5 . 3300053.00 3287753
Sub5 . 3300055.00 3287753
Sub5 . 3300057.00 3287753
Sub5 . 3300059.00 3287753
每个松散句号两侧的空格是“Tab”按钮空格,您似乎无法在查找和替换搜索中指示这些空格,因为“Tab”按钮只会跳转到 F+R 菜单中的下一个项目。这种情况不定期发生,而且有数千行,因此手动浏览可能需要数小时,但如果我使用查找和替换,它还会转换小数点,并使输出中的其他数据列变得毫无意义。有没有一种快速的方法可以将所有孤立的句号转换为零,而不会弄乱小数?我目前正在使用 notepad++,但如果有必要,我很乐意获得更高级的软件。所有建议都值得赞赏,因为另一种选择是花几个小时浏览这些列!
答案1
我对一个旧的并且已经回答过的问题发表了自己的看法,但是我看到了“使用正则表达式”的答案,而且还有更简单的方法:
“Tab”空格可以被复制:)
因此:选择一个“标签”,Ctrl+H,将其粘贴到“查找”框中,添加句点并在其后粘贴另一个标签。替换框:粘贴标签,添加“0.0”粘贴标签。-> 全部替换!
明白了:您只需将所有“ tab.tab
”替换为“ tab0.0tab
”,这也应该保持您的列对齐。
抱歉,挖出 18 个月前的话题 :)
答案2
这里的关键是识别包括任何白色空间在内的所有“针”的最小共同特征,这些特征使它们不同于“大海捞针”的所有其他部分。
如果不看数据,就无法正确回答你。“数字”似乎是表达它是什么的一种简单方式,但我猜你的意思是“小数/浮点”数字等。数据点之间有“某些东西”吗(例如任何类型的空格或分隔符)?
如果每列前都有一个制表符,则可以\t.
用\t0.0
“etc”替换所有。
如果没有空格,那么您可以将所有..
(2 个句号)替换为 ``(无)。重复此操作,直到获得“0 个替换”。
不用说,您需要在数据的备份副本上执行此操作。
答案3
如果您使用文本板,则可以使用正则表达式:
就像是([0-9]\.\.+[0-9])
尽管现在你已经限定了它,但如果每侧都有标签,它实际上可能会更容易:
(\t\.\t)