Регулярное выражение для замены двоеточия в JS - PullRequest
0 голосов
/ 07 января 2019

У меня есть следующая строка:

let str = '/user/:username/'

Я хочу извлечь заменить username на harry с удаленным двоеточием.

Я попробовал следующее:

const regex = /[^:]+(?=:)/g
str.replace(regex, x => console.log(x))

Ответы [ 5 ]

0 голосов
/ 07 января 2019

В вашем регулярном выражении [^:]+(?=:) вы соответствуете 1+ раз, а не двоеточие, и утверждаете, что в конце должно быть двоеточие, что приводит к совпадению для /user/

Если вы хотите использовать отрицательный класс символов, вы можете указать двоеточие, а не косую черту:

:[^\/]+

const str = `/user/:username/`;
const result = str.replace(/:[^\/]+/, "harry");
console.log(result);
0 голосов
/ 07 января 2019

let str = '/user/:username/';
let html = str.replace(":username", "harry");
console.log(html);
0 голосов
/ 07 января 2019

Попробуйте: /:\w+/

let str = '/user/:username/'
str.replace(/:\w+/, "harry")
// => "/user/harry/"
0 голосов
/ 07 января 2019

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

let str = '/user/:username/';
str.replace(':username','harry')
// o/p => /user/harry/"
0 голосов
/ 07 января 2019
var str = '/user/:username/';
var newstr = str.replace(/:username/i, "harry");
print(newstr);

привет, приятель, это то, что ты ищешь? я нашел это в https://developer.mozilla.org/de/docs/Web/JavaScript/Reference/Global_Objects/String/replace

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...