Удалить все экземпляры charater из начала и конца строки
Я пытаюсь найти решение, чтобы удалить все экземпляры данного символа из начала и конца строки.
Пример:
// Trim all double quotes (") from beginnning and end of string
let string = '""and then she said "hello, world" and walked away""';
string = string.trimAll('"',string);
console.log(string); // and then she said "hello, world" and walked away
Эта функция будет эффективно trim
какие replaceAll
это к replace
,
Мое решение заменить все:
String.prototype.replaceAll = function(search, replacement) {
return this.replace(new RegExp(search, 'g'), replacement);
};
Это, конечно, заменит все экземпляры символа в строке, а не просто образует оба конца.
Какой Regex будет лучшим в этом случае?
2 ответа
Один вариант использует replace
:
var string = '""and then she said "hello, world" and walked away""';
string = string.replace(/"*(.*[^"])"*$/, "$1");
console.log(string);
В этом случае вы можете использовать:
string = string.replace(/^"|"$/g, '');
Если вы хотите удалить (обрезать) все такие символы (linke "), используйте:
string = string.replace(/^["]+|["]+$/g, '');
Таким образом, вы также можете определить rtrim (правая обрезка) или ltrim:
// ltirm
string = string.replace(/^"/, '');
// rtirm
string = string.replace(/"$/, '');
Я надеюсь, что это поможет вам.