【问题标题】:notepad++ regular expressions to convert lines for SPSS syntax editornotepad++ 正则表达式为 SPSS 语法编辑器转换行
【发布时间】:2011-04-30 21:25:27
【问题描述】:

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

我是一个完全的初学者(我不介意你叫我n00b)在notepad++中用正则表达式搜索和替换,但我可以作为基本用户使用扩展搜索功能: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

进入下面给出的合成器:

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-行外),但这仍然非常耗时,因为我必须手动完成每一行并在最后通过扩展搜索进行清理。

每行转换不是更容易吗?

提前谢谢你:)

【问题讨论】:

    标签: regex notepad++ replace


    【解决方案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.
    

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

    【讨论】:

    • 这有帮助:) 非常感谢!由于获得的 UP 点数不足,我无法投票。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-02
    • 1970-01-01
    • 2012-04-01
    • 1970-01-01
    • 2017-09-02
    相关资源
    最近更新 更多