2016-12-21 3 views
1

Рассмотрим этот сценарийУдалить несколько запятых от начала и конца строки

var str1 = '^^ranbir$$this is first comment,,'; 
var str2 = ',,^^check$$this is another comment,,'; 
var str3 = ',,^^mike$$this is 3rd comment, but this is not the last one,,'; 

Я хочу, соответствующие выходы быть

console.log(str1) // ^^ranbir$$this is first comment 
console.log(str2) // ^^check$$this is another comment 
console.log(str3) // ^^mike$$this is 3rd comment, but this is not the last one 

В основном удалить все запятые в начале и в конце строки. Я смог удалить только одну запятую из первой и последней строки, попробовав пару решений из переполнения стека, но не смог заставить ее работать.

+3

Так что же вы пытались? Поделись, пожалуйста. Что делать, если в начале/конце есть только 1 запятая? Должны ли они быть удалены? –

+0

Возможный дубликат [удалить начальную и конечную запятую из переменной в javascript] (http://stackoverflow.com/questions/5947507/remove-starting-and-ending-comma-from-variable-in-javascript) –

+0

попытался заменить (/ ^, |, $/g, '') один раз и несколько других выражений регулярных выражений. Но они удаляют только одну коммюму с начала и конца позиций. var str = '^^ ranbir $$ это первый комментарий ,,,,'; // ожидаемый вывод: ^^ ranbir $$ это первый комментарий –

ответ

1

Вы могли бы соответствовать части между запятыми :

const re = /^,*(.*?),*$/; 
 
const data = ',,,^^ranbir$$this is first comment,,'; 
 
const result = data.match(re); 
 

 
console.log(result[1]);

0
var edited = test.replace(/^,|,$/g,''); 

^, соответствует запятой в начале строки и $ совпадает с запятой в конце.

Псевдо код: в то время как foo содержит (foo.replace (/ ^, |, $/g, ''));

источник: remove starting and ending comma from variable in javascript

+3

После запятой вы можете добавить квант '+'. – Toto

+2

это удалит только одну запятую в начале и конце строки – RomanPerekhrest

+0

да, она удаляет только одну запятую из начала и конца строки. –

2

унифицированное решение для удаления трейлинг запятые и возможные пробелы в начале и в конце строки:

var str3 = ',,, ^^mike$$this is 3rd comment, but this is not the last one ,,,, ', 
 
    replaced = str3.replace(/^\s*,+\s*|\s*,+\s*$/g, ''); 
 

 
console.log(replaced);

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