Emeditor的CSV模式中,能否自动填入上一行内容

CSV内容如下:

ABC DEF
XXXX
XXXX
XXXX
GHI
XXXX
XXXX

第二、三栏的空白之处,希望填入上行的内容。
结果如下:

ABC DEF
XXXX ABC DEF
XXXX ABC DEF
XXXX ABC DEF
ABC GHI
XXXX ABC GHI
XXXX ABC GHI

在excel中,就是选择空白格,内容等于上一行,而后CTRL+ENTER。

而后,第一栏中的空白格整行删去:

XXXX ABC DEF
XXXX ABC DEF
XXXX ABC DEF
XXXX ABC GHI
XXXX ABC GHI

在excel中,也是选择空白格,删去整行。

不知道在Emeditor中,有办法办到以上两件事吗?
最终希望录制成Macro,自动执行。

把列复制到新文件。
能实现。
填充后粘贴回去。

谢谢回复!
可我不明白怎样填充…
能否详细些,谢谢!

//往下填充空行:如果下一行为空,就把这一行往下填充
		var num=prompt("替换次数,建议:不要太小或者太大","25")
	function isRealNum(num){
    // isNaN()函数 把空串 空格 以及NUll 按照0来处理 所以先去除
    if(num === "" || num ==null){
        return false;
    }
    if(!isNaN(num)){
   return true;        
    }
     else{
        return false;
    }
 } 
if (isRealNum=true)  {  
	//每次10行
  	for (var i=0;i<=num;i++)
	{
	document.selection.Replace("^(.*)\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n","\\1\\n\\1\\n\\1\\n\\1\\n\\1\\n\\1\\n\\1\\n\\1\\n\\1\\n\\1\\n",eeReplaceAll | eeFindReplaceRegExp,eeExFindRegexOnigmo);
	}
	//每次8行
  	for (var i=0;i<=num;i++)
	{
	document.selection.Replace("^(.*)\\n\\n\\n\\n\\n\\n\\n\\n","\\1\\n\\1\\n\\1\\n\\1\\n\\1\\n\\1\\n\\1\\n\\1\\n",eeReplaceAll | eeFindReplaceRegExp,eeExFindRegexOnigmo);
	}
	//每次4行}	
  	for (var i=0;i<=num;i++)
	{
	document.selection.Replace("^(.*)\\n\\n\\n\\n","\\1\\n\\1\\n\\1\\n\\1\\n",eeReplaceAll | eeFindReplaceRegExp,eeExFindRegexOnigmo);
	}
	//每次2行}	
  	for (var i=0;i<=num;i++)
	{
	document.selection.Replace("^(.*)\\n\\n","\\1\\n\\1\\n",eeReplaceAll | eeFindReplaceRegExp,eeExFindRegexOnigmo);
	}	
   }
	


太谢谢您了!确实就是我需要的!
可惜没法在原挡案一气呵成 :joy:
不过已经很好用了,非常谢谢!

空白格整行删除,不知道有解吗?

那个容易实现。

查找 ^(.*?)\t\t\n
替换空  
1 Like

确实,还真简单 :rofl:,谢谢!

嗯。看错了。可惜没办法编辑,达到每日编辑次数。这论坛什么时候的的的的的的的的

^\t.*
1 Like

我是修成
^\t(.*?)\t\r\n
不过

^\t.*

这个真够简洁,太赞了!