2015-09-15 4 views
0

У меня есть файл CSV, который один из Colums назвал Location. Он содержит «Office CityX» и «Домашний офис». Я хочу вставить их в AD.Использование split

Я пробовал:

$Location = -split $user.Location 
$NewLocation = $Location[1] 

Это ясно, что я получаю City1, City2, ... и "Офис" Но я хочу "домашний офис". Как я могу расколоться, чтобы получить города, а также весь «Домашний офис»?

ответ

2

Split место, только если она содержит слово city:

$NewLocation = if ($user.Location -like '*city*') { 
       $user.Location.Split()[1] 
       } else { 
       $user.Location 
       } 

Альтернатива (если у вас есть названия городов, вместо слова «город») будет использовать регулярное выражение как это:

$NewLocation = if ($user.Location -match 'amsterdam|nairobi|rome|...') { 
       $user.Location.Split()[1] 
       } else { 
       $user.Location 
       } 

или, если это только расположение «Домашний офис», который вы не хотите разделить, вы могли бы сделать это следующим образом:

$NewLocation = if ($user.Location -ne 'home office') { 
       $user.Location.Split()[1] 
       } else { 
       $user.Location 
       } 
+0

На самом деле это было в разных городах, но я приспособил к месторождению с несколько -каком. Спасибо за вашу помощь. – frhling1

+0

@ frhling1 Извините, вид туннеля. См. Обновленный ответ. –

+0

Спасибо большое. Ваш обновленный ответ - это 100% то, что я искал. – frhling1

1

Я предложу альтернативу в случае, если она окажется менее City1, City2, City3 и более Орландо, Чикаго, Сиэтл.

RegEx позволит вам легко разбить его и разместить многословные названия городов (а не ,,Office New York, став New). Кроме того, метод -split использует regex по умолчанию. Мы будем записывать нужный текст, чтобы он возвращался из раскола и не исключался.

$NewLocation = $_.Location -split ",,(?:Office)?(Home Office|(?<=Office).+$)" 

Для детальной разбивки этого, проверить это RegEx101 link.

Теперь, если мы бросаем несколько строк на том, что он будет возвращать либо «Home Офис» или что-нибудь, что следует «,, Управление». Примеры:

,,Office Seattle 
,,Home Office 
,,Office Chicago 

становится:

Seattle 
Home Office 
Chicago 
+1

Спасибо за ваше предложение и специально эту ссылку. Я должен начать изучать RegEx! :) – frhling1

+0

Да, вы должны! – sodawillow

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