1

Так что я пытаюсь в конечном итоге составить таблицу из целой пачки текста, но это доставляет мне головную боль. В основном вот идея того, что происходит:

    matchingvariablelengthupccode1 productdescription1 value value value value value value value value matchingvariablelengthupccode1

matchingvariablelengthupccode2 product
description2 value value value value value value value value value matchingvariablelengthupccode2

И описание продукта иногда случайно содержит разрывы строк. Также upc в конце и начале соответствуют друг другу, но уникальны для каждого продукта.

Даже после того, как я разберусь с этим, мне придется выяснить, как обращаться с описаниями продуктов, которые имеют пробелы, но должны быть одним столбцом, когда значения и коды upc уже разделены пробелами. Также описания продуктов иногда начинаются с цифры, чтобы усложнить задачу.

Попытка использовать регулярные выражения в notepad++, но это очень сложный вопрос.

1 ответ1

0

Есть способ без программирования.

Часть 1. Поместите каждую запись в одну строку , заменив разрывы строк в описаниях элементов пробелами.

Часть 2: Удалить конечные коды UPC.

Часть 3. Преобразование первых N слов, разделенных пробелом, в столбцы, остальные (> N) в последний столбец.


Подготовка: Используйте команду « Найти» (установите « Режим поиска» на « Обычный»), чтобы найти уникальный символ, отсутствующий в файле. Я буду использовать # . Если вы нашли другой, пожалуйста, отрегулируйте следующие шаги соответственно.

Часть 1:

Шаг 1:

Используйте регулярное выражение найти / заменить:

Найти что: (\R)(\d+\l* )

Заменить на: #\1 (обратите внимание на наш специальный символ)

Режим поиска: регулярное выражение

". соответствует символу новой строки": не отмечен

→ Каждый код UPC имеет префикс # в этой точке в начале строки.

Шаг 2:

Найти что: \R

Заменить на: (один пробел)

Режим поиска: регулярное выражение

". соответствует символу новой строки": не отмечен

→ Весь текст теперь в одну строку.

Шаг 3:

Найдите что: # (обратите внимание на наш специальный символ)

Заменить на: \r\n

Режим поиска: регулярное выражение

". соответствует символу новой строки": не отмечен

→ Все записи теперь на своих линиях. Исправьте исключения вручную, если они есть.

Часть 2:

Шаг 1:

Используйте регулярное выражение найти / заменить:

Найти что: ^(.*) (.*)$

Заменить на: \1

Режим поиска: регулярное выражение

". соответствует символу новой строки": не отмечен

→ Последнее слово из каждой записи (предположительно это был код UPC) было удалено.

Часть 3:

Шаг 1:

Используйте регулярное выражение найти / заменить:

Найти что: ^(.*?) (после одного пробела ))

Заменить на: \1# (обратите внимание на наш специальный символ)

Режим поиска: регулярное выражение

". соответствует символу новой строки": не отмечен

→ Первый пробел в строке теперь # .

Шаг 2:

Повторяйте шаг 1 до тех пор, пока все пробелы между столбцами (но не в описании продукта) не будут превращены в # .

→ Пробелы теперь только в описании товара. Между всеми столбцами есть # .

Шаг 3:

Вставьте все записи в Microsoft Excel и используйте Мастер импорта текста, чтобы импортировать ваши значения в таблицу.

Тип данных: с разделителями (не фиксированная ширина)

Разделитель: Другое: # (установите все остальные варианты разделителей без отметки!)

→ У вас есть данные в столбцах в Excel.

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