2015-10-26 4 views
-2

У меня есть столбец в таблице базы данных, который я должен преобразовать в список с разделителями-запятыми (потому что я буду вставлять каждый элемент в списке в качестве новой записи в новую таблицу). Ниже приведены некоторые примеры данных.Regex Powershell и разбиение строки

Пример данных:

  • 5209291 5847149,8943073, 8943895, 8963839
  • 3215874,2435245,2345563,634523, джим, Jake, генри, школа медицинских профессий

Мои требования :

  • список должен быть только номера
  • список должен быть ограничен только запятыми

Идеальное решение с использованием приведенного выше примера будет:

  • 5209291,5847149,8943073,8943895,8963839
  • 3215874,2435245,2345563,634523

Что я сделал до сих пор, это использование String Split и hardcode разделителей путем передачи их в метод. Это не сработает, потому что каждый день я получаю канал от администратора базы данных, а разделитель потенциально может быть чем угодно. Хотелось бы, чтобы я мог представить что-то, что показывает «что я сделал», но я просто в затруднении здесь ...

ответ

1

Вы можете сопоставить последовательность цифр с помощью этого регулярного выражения: \d+. Все, что вам нужно, - сопоставить каждую последовательность цифр в строке ввода и объединить их запятой.

[regex]::Matches($InputString,'\d+')-join',' 
+0

спасибо. Работала отлично. – user1618000

Смежные вопросы