notepad ++ регулярные выражения для преобразования строк в редакторе синтаксиса SPSS - PullRequest
1 голос
/ 26 октября 2010

В настоящий момент я занят созданием синтаксического документа в SPSS, и у меня есть столбец переменных строк, состоящий примерно из 40 строк (это будет намного больше в предстоящую неделю). SPSS имеет хороший способ его создания (можно увидеть здесь :) http://vault.hanover.edu/~altermattw/methods/stats/reliable/reliability-1.html), но это может быть сделано для одной переменной за раз, которую можно автоматизировать.

Я абсолютный новичок (я не возражаю, если бы вы назвали меня n00b) при поиске и замене его регулярными выражениями в блокноте ++, но я могу использовать расширенную функцию поиска в качестве основного пользователя: P

Данные содержат баллы по шкале Лайкерта (от 1 до 7), и я хотел бы отменить ее, чтобы сделать некоторые тесты.

Например: имя моей переменной в строке - q_4_SQ001, а слайн в редакторе синтаксиса - 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

Я также попытался записать и запустить макрос, как указано здесь (/2020298/bloknot-zamenit-vse-regulyarnye-vyrazheniya-nachalo-stroki-i-konets-stroki), но это все еще занимает довольно много времени, так как мне приходится выполнять каждую строку вручную и выполнять в конце расширенный поиск.

Не проще ли перевести каждую строку?

Заранее большое спасибо :)) 1030 *

1 Ответ

1 голос
/ 26 октября 2010

Забавно, Notepad ++ работает под Wine, как я только что узнал;)

Новый файл, вставлен:

q_4_SQ001
q_4_SQ002
q_4_SQ003
q_4_SQ004

Выбрать все (CTRL+A), заменить (CTRL+R).

Отметьте Regular Expr, вставьте ^(.*)$ в бит "find" (первое текстовое поле) и COMPUTE \1r=8-\1. в бит "replace" (второе текстовое поле).Нажмите кнопку 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.

Я полагаю, что вы хотели.Наслаждайтесь.

...