2016-05-04 6 views
1

Я пытаюсь заменить каждое слово в строке на определенное слово.заменить каждое слово на определенное слово javascript regex

var str = "hello how are you can you please help me?"; 

и желание прийти к следующему

answer = "bye bye bye bye bye bye bye bye bye bye"; 

В настоящее время у меня есть

var answer = str.replace(/./g, 'bye'); 

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

+0

Каждое "слово" или кусок непробельных символов? –

+0

Я ищу, чтобы заменить каждое слово –

+0

, то как вы заменяете '?'? – rock321987

ответ

2

Вы можете использовать этот

str.replace(/[^\s]+/g, "bye"); 

или

str.replace(/\S+/g, "bye"); 

Regex Demo

JS Демо

var str = "hello how are you can you please help me?"; 
 
document.writeln("<pre>" + str.replace(/\S+/g, "bye") + "</br>" + "</pre>");

+0

'\ S' =' [^ \ s] '. –

+0

@ WiktorStribiżew thanks..i всегда забываю мелочи – rock321987

0

Малый раствор (без регулярных выражений):

var 
    str = "hello how are you can you please help me?"; 

str.split(' ').map(function(a) { 

    if (a === '') return; 

    return 'bye'; 

}).join(' '); // "bye bye bye bye bye bye bye bye bye" 
Смежные вопросы