JavaScript Basic заменить два символа в одной строке - PullRequest
2 голосов
/ 19 марта 2012

У меня есть:

var foo = '(bar)'
foo.replace('(', '').replace(')', '')

Итак, я получаю bar без скобок, есть ли лучший способ сделать это?

Ответы [ 3 ]

7 голосов
/ 19 марта 2012

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

foo = foo.replace(/[()]/g, '');

Это включает в себя простое регулярное выражение, которое соответствует всем экземплярам открытых или закрывающих скобок. Обратите внимание, что вы должны включить это назначение, так как ".replace ()" не изменяет строку; возвращает измененную строку.

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

Вы можете использовать регулярное выражение для захвата всего, что в скобках, в группе захвата согласно Javascrip Regex например,

var foo = "(bar)";
var replacedStr = foo.replace(/\((.*)\)/g, "$1");

или замены только скобок пустой строкой, например,

* 1007.*
0 голосов
/ 19 марта 2012

Если это всегда первый и последний символы, от которых вы пытаетесь избавиться, вы можете использовать метод среза: http://www.w3schools.com/jsref/jsref_slice_string.asp

​var foo = '(bar)';
alert(foo.slice(​​​​​​​​1, 4));
//Or
alert(foo.slice(1, foo.length - 1));​
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...