2015-01-05 3 views
1

я получил массив строкКак разбить массив строк (строка [])?

string [] foo 

массив состоит в следующем: данные

2014 01 02 234 124 
2014 01 03 640 710 
2014 01 04 234 921 

мне новый массив строк даты, которая будет включать только дату (YYYY-MM-DD). Как мне это сделать?

ответ

4

Вот функциональный подход:

string[] dates = foo.map!(line => line.split()[0..3].join("-")).array(); 
+0

Спасибо, но почему, если я делаю просто: 'DATETIME = content.split() [0..3];'? Я получаю ошибку: 'Ошибка: шаблон std.array.split не может выводить функцию из типов аргументов!() (String []), кандидаты:' – Suliman

+0

Вы не можете разделить весь массив строк за каждый линии, вы должны обрабатывать каждую строку по очереди. Для этого вы можете использовать 'for',' foreach' или 'map', как я использовал его здесь. –

0

Если вы знаете, что ваши даты всегда являются гггг MM д.д., чем просто порезать строку.

перевести в std.string

dchar[dchar] translateTable = [' ' : '-'];  
auto dates = foo.map!(line => translate(line[0..10], translateTable)); 
Смежные вопросы