2

Я очищаю .txt файл со всеми цветами pantone для использования в скрипте

Что я хочу это:

HEX:FEDDOO YellowC 254 221 0

и что у меня в данный момент есть в моем текстовом файле:

Желтый C HEX:FEDD00 254 221 0

Итак, у меня есть название для цвета, шестнадцатеричное число и номера RGB.

Блоки RGB - это всегда последние 3 буквы / слова, а шестнадцатеричное число - это всегда 4-е слово в строке, название цвета иногда состоит из 1/2 или 3 блоков текста. Желтый C Синий 0821 C ...

Во-первых, я должен иметь возможность объединить название цвета в одно слово (например, от желтого C до желтого C; от синего 0821 C до Blue0821C и т.д.

Итак, в каждой строке у меня будет 5 блоков.

Затем шестнадцатеричное число должно идти в начале строки, а не быть вторым "словом". (-> блок один становится блоком 2, а блок 2 становится блоком 1)

Причина, по которой я так хочу, состоит в том, что я уже создал диаграмму RAL с каждым значением в этом порядке, поэтому я должен иметь возможность создавать диаграмму pantone таким же образом, чтобы я мог использовать тот же сценарий для чтения этих значений.

Заранее спасибо!

1 ответ1

0

Notepad++ может сделать это за вас, но это будет трехступенчатая замена. Откройте диалоговое окно "Заменить" в Notepad++ (Поиск> Заменить ...) и убедитесь, что для параметра "Режим поиска" установлено значение "Регулярное выражение". Затем выполните следующие 3 поиска:

  1. Поиск ^(.*?) (HEX:.{6}) (\d+) (\d+) (\d+)$ и замените его на $2|$1|$3|$4|$5 . Это приведет ваши компоненты в правильном порядке и заменит пробелы символом трубы. После его запуска ваш пример будет выглядеть так: HEX:FEDD00|Yellow C|254|221|0 .
  2. Тогда ищите (пробел) и заменить его ничем. Это исключит все оставшиеся пробелы (которые должны быть именно теми пробелами, которые вам не нужны в названии цвета). После запуска ваш пример будет выглядеть так: HEX:FEDD00|YellowC|254|221|0 .
  3. Наконец заменить \| с (пространство). Это преобразует символы трубы обратно в пробелы. После запуска ваш пример будет выглядеть так: HEX:FEDD00 YellowC 254 221 0 .

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .