#javascript #jquery
#javascript #jquery
Вопрос:
Я хотел бы заменить дефис, который был бы отделен от текста. Как прикреплено :
- GARE CENTRALE — HERRMANN-DEBROUX
- GARE CENTRALE — MUSEE DU TRAM
- СТАНЦИЯ МЕТРО ЭТТЕРБЕК-ИКСЕЛЬ-БОРДЕТ Я хотел бы иметь такой список в списке :
- [GARE CENTRALE], [HERRMANN-DEBROUX]
- GARE CENTRALE], [MUSEE DU TRAM]
- [HOPITAL ETTERBEEK-IXELLES], [BORDET STATION]
Я пытался использовать : list.replace(/-/,'');
Но это работает только с первой и двумя строками, но не работает с последней, я не хочу делать это вручную, потому что там около 100 строк, и каждая строка отличается.
Спасибо: D
Комментарии:
1. Java != Javascript
Ответ №1:
Вы можете сделать что-то подобное, если хотите получить массив в результате.
var array = [];
var texts = [
'HOPITAL ETTERBEEK-IXELLES - BORDET STATION',
'GARE CENTRALE - MUSEE DU TRAM',
'HOPITAL ETTERBEEK-IXELLES - BORDET STATION'
];
texts.forEach((text) =>{
array.push(text.split(' - '));
});
console.log(array);
Комментарии:
1. Их никак не проще, чем .replace() ?
2. @forcela Что такого сложного в этом коде. Для меня это выглядит довольно прямолинейно. Вы также можете легко переписать его как упрощенный oneliner
texts.forEach(text => array.push(text.split(' - ')));
. Я не понимаю, какreplace()
решить ваши проблемы, но если это просто добавит пробелы в регулярное выражение?3. @forcela Вы хотите получить список в результате, но
replace()
метод заменяет только заданные строки в строке. Такsplit()
я думаю, что это самый простой метод 🙂4. Да, это то, что я не описал подробно, я заменяю строку в строке, но в массиве, подобном
var ligneNom = lines[i].split(',')[longNameLoca];
. Но большое спасибо за вашу помощь 🙂