2012-03-02 2 views
0

Можно создать дубликат:
replace all occurrences in a stringКак заменить все строковые значения в этом выражении JavaScript?

У меня есть эта строка:

"12-3-02" 

И я хотел бы, чтобы преобразовать его в:

"12/3/02" 

Как мне это сделать? Я пробовал:

.replace(/-/,"/") 

Но это только заменяет первую найденную. Как заменить все экземпляры?

+0

Это не инструкция jQuery, это инструкция JavaScript. –

+0

.replace (/ -/g, "/"); // g для общей замены – Nicocube

+1

Это ничего не связано с jQuery, '.replace()' - это метод строк. –

ответ

4

Один из них (с использованием split или global RegEx flag):

str = str.split('-').join('/'); // No RegExp needed 

str = str.replace(/-/g, '/'); // `g` (global) has to be added. 
+0

Я не могу проверить это на данный момент, но вам нужны 'replace()', а также 'split()'? –

+2

@ Давид: Нет, вот почему Роб говорит * «** Один из них:» * –

+0

Ответ был, возможно, отредактирован, чтобы сделать это более явным, либо когда я спросил, либо потом. ... это или я не читал достаточно внимательно. знак равно –

4

Добавить (глобальный) модификатор g в регулярное выражение, чтобы соответствовать всем - с.

.replace(/-/g,"/") 
1

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

var reformat = '01-11-2012'.replace(/(([0-9]+)(?=\-))\-(?=[0-9])/g,'$1/'); 

Это будет только заменить. «-» символы, которые предшествуют и следуют число.

Смежные вопросы