регулярное выражение javascript заменить nonwords и пробелы не работает? - PullRequest
0 голосов
/ 13 марта 2012
var st = "Dream Theater A Change of Seasons (EP) (1995)";
var searchTerm = st.replace("/[\s\W]+/g", "+");

дает Dream Theater A Change of Seasons EP 1995

, но я хочу быть
Dream+Theater+A+Change+of+Seasons+EP+1995+

Ответы [ 3 ]

2 голосов
/ 13 марта 2012

Вам нужно:

var searchTerm = st.replace(/[\s\W]+/g, "+");

без кавычек.

1 голос
/ 13 марта 2012

try

st.replace(/\s/g, "+");

, который просто заменяет каждый символ пробела на +.Также обратите внимание, что я удалил кавычки вокруг регулярного выражения - вы хотите регулярное выражение, а не строку.

РЕДАКТИРОВАТЬ - Только что попробовал

st.replace(/[\s\W]+/g, "+"); // no quotes around the regex

, и это дает вам+ на конце.Таким образом, реальная проблема в том, что вы передаете строку, когда хотите передать фактическую ссылку на регулярное выражение.

0 голосов
/ 13 марта 2012
var searchTerm = st.replace(/[\s\W]+/g, '+');
...