Удаление пробелов из строки с помощью Powershell - PullRequest
0 голосов
/ 07 июня 2019

У меня проблема с извлечением данных из базы данных, которая иногда (довольно часто) добавляет пробелы между строками текстов, которых там быть не должно.

Я пытаюсь создать небольшой скрипт, которыйбудет смотреть на эти строки и удалять пробелы.

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

Пример:

"StaffID": "0000 25" <- пробела в номере не должно быть.Есть ли способ заставить скрипт посмотреть на эту конкретную строку и, если он найдет пробелы, удалить их. <br>Или: "DateOfBirth": "23-10-199 0" <-Есть также нужно посмотреть на эти пробелы и удалить их. </p>

Проблема в том, что в тех же данных также есть строки, такие как:
"Address": " 91 Broad street" <- пробелы здесь должны быть явно. </p>

Я пробовал использовать TRIM, но это удаляет только пробелы изначало / конец.

Стоит отметить, что извлеченные данные представлены в формате json, а затем импортированы с использованием API в новую систему.

1 Ответ

2 голосов
/ 07 июня 2019

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

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

$staffid = $staffid.replace("\s+",'')

Есть некоторые более сложные вещи, которые вы можете сделать с принудительным форматированием (.replace), которые уже были рассмотрены в этом ответе , но опять же, требуется некоторое ожидание того, какие именно данные будут поступать из какого столбца.

Возможно, вы захотите более внимательно посмотреть, откуда поступают эти пробелы, а не обрабатывать вывод, как это. Это делает поисковый скрипт? Может быть, вы можете оптимизировать базу данных, из которой вы рисуете?

...