notepad ++正则表达式,用于转换SPSS语法编辑器的行

时间:2010-10-26 17:40:22

标签: regex notepad++ replace

我非常忙于在SPSS中构建一个synthax文档,并且有一列由大约40行组成的变量字符串(下周它会更多)。 SPSS有一个很好的创建方式(可以在这里看:) http://vault.hanover.edu/~altermattw/methods/stats/reliable/reliability-1.html)但可以在一个可以自动化的时间每个变量完成。

我是一个初学者(我不介意你叫我n00b)在搜索和替换notepad ++中的reqular表达式,但我可以使用扩展搜索功能作为基本用户:P

数据包含得分量表(从1-7开始),我想将其反转以进行一些测试。

例如:我在行上的变量名是q_4_SQ001,而在synthax编辑器中的sline是q_4_SQ001=COMPUTE q_4_SQ001r=8-q_4_SQ001.

到目前为止我的问题是:

如何将包含唯一变量名称的行转换为反转公式?

所以在这种情况下,我该如何替换以下几行:

q_4_SQ001
q_4_SQ002
q_4_SQ003
q_4_SQ004

进入下面给出的synthax:

COMPUTE q_4_SQ001r=8-q_4_SQ001.
COMPUTE q_4_SQ002r=8-q_4_SQ002.
COMPUTE q_4_SQ003r=8-q_4_SQ003.
COMPUTE q_4_SQ004r=8-q_4_SQ004.

请注意每行结束时我手动完成的点,以便给你一个我想要实现的印象。我的数据集有不同的问题和不同的变量字符串,所以我想现在让我的生活变得更轻松:P

我也尝试过录制和运行宏,如此处所述(http://stackoverflow.com/questions/2467875/notepad-replace-all-regular-expression-start-of-the-line-and-end-但是这仍然非常耗时,因为我必须尽可能多地进行每条线路并最终通过扩展搜索进行清理。

转换每一行会不会更容易?

提前感谢一大堆:)

1 个答案:

答案 0 :(得分:1)

有趣的是,Notepad ++在Wine下工作,正如我刚刚发现的那样;)

新文件,已插入:

q_4_SQ001
q_4_SQ002
q_4_SQ003
q_4_SQ004

全选(CTRL+A),替换(CTRL+R)。

勾选Regular Expr,在“查找”位(第一个文本框)中粘贴^(.*)$,在“替换”位(第二个文本框)中粘贴COMPUTE \1r=8-\1.。点击Find按钮,然后按Replace Rest按钮。

模式周围的圆括号()会导致模式被“记忆”,每组括号可通过\1\2等替换模式。

更换后,我得到了:

COMPUTE q_4_SQ001r=8-q_4_SQ001.
COMPUTE q_4_SQ002r=8-q_4_SQ002.
COMPUTE q_4_SQ003r=8-q_4_SQ003.
COMPUTE q_4_SQ004r=8-q_4_SQ004.

我认为这就是你想要的。享受。