Преобразуйте ReGex в простую и быструю функцию (удаление запятой из строки JSON) - PullRequest
0 голосов
/ 31 октября 2010

У меня есть это выражение ReGex в JavaScript прямо сейчас: /(.*)(,)([\]\}]+)$/.exec(stringData).По сути, он удаляет любую запятую из искаженной строки JSON (конкатенируя r [1] + r [3], вы получаете ее).

Работает хорошо, за исключением того, что он слишком медленен для больших строк .Таким образом, регулярное выражение не является хорошим выбором здесь.Я хотел бы преобразовать это в функцию, кто-нибудь может написать это?Извините, если это неуместно, мне стыдно спрашивать, но я спешу, и мой уровень очень низкий в JS.

Плюс, я думаю, что это было бы полезно для сообщества, этот вопрос ранее не задавался отчто я видел.

Вот несколько примеров:

cleanJSON('{time:23423,}') --> '{time:23423}'
cleanJSON('{times:[23423,]}') --> '{times:[23423]}'
cleanJSON('{times:[23423,4353], ids:[434,634],}') --> '{times:[23423,4353], ids:[434,634]}'

TIA

1 Ответ

0 голосов
/ 31 октября 2010

Может быть, было бы лучше сделать что-то вроде

"thisis,a,very,big,string".replace(/,([]}]+)$/g, "$1");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...