Javascript: магия с заменой пробела в строке - PullRequest
0 голосов
/ 03 декабря 2018

Я не могу удалить пробел в строке, если переменная содержит это значение:

var groupingSeparator = ' ';
'123 456'.replace( new RegExp( groupingSeparator ), '' );

>>> as result: '123 456'

Но я могу сделать это без отдельной переменной:

'123 456'.replace( new RegExp( ' ' ), '' );

>>> as result: '123456'

Мне нужна эта переменнаяпотому что он также может содержать другое значение (запятая, указать и продолжить).Так почему же мы имеем другое поведение в примерах кода «равно»?Как ее решить?

РЕДАКТИРОВАТЬ: Таким образом, он не работает для меня локально, потому что значение переменной groupSeparator не является простым пробелом.Это '\ u00A0'.

1 Ответ

0 голосов
/ 03 декабря 2018

Используйте \s в качестве разделителя - оно соответствует пробелам.Обратите внимание, что вам нужно добавить «\», чтобы использовать его с конструктором RegExp.Я также добавил флаг g (глобальный), чтобы заменить все совпадения в данной строке

var groupingSeparator = '\\s';
var text = '123\u00a0456'
console.log("before", text)
var result = text.replace( new RegExp( groupingSeparator , "g"), '' );
console.log("after", result)
...