Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Регвыр /\s+-\s+/g срабатывает через один в строчке - - - - - (https://javascript.ru/forum/misc/14668-regvyr-%5Cs-%5Cs-g-srabatyvaet-cherez-odin-v-strochke.html)

балерун 25.01.2011 16:52

Регвыр /\s+-\s+/g срабатывает через один в строчке - - - - -
 
Привет, надо заменить все обособленные пробелами дефисы на тире. Недолго думая, написал
str.replace(/\s+-\s+/g, ' — ');


Но в строках, где подряд идут несколько дефисов, например такой:
var str = ' -    -   -  - ';


Только нечетные становятся дамкой тире. Как сделать, что б таки все стали тире?

Aetae 25.01.2011 16:55

alert(' -    -   -  - '.replace(/\s+?-\s+?/g, ' — '))

Vulkan 25.01.2011 16:55

var str = ' -    -   -  - ';
alert(str.replace(/-/g, '—'));


Часовой пояс GMT +3, время: 23:08.