2017-01-23 2 views
0

Я делаю бот в JavaScript для раздора и один из его команд будут пользовательскими командами, которые могут дать роли,Как разобрать строку в JavaScript, чтобы вернуть что-то

так у меня есть строка из этого: " {role: ROLE NAME} ", и я хотел бы проанализировать« ROLE NAME »из этого, я просмотрел RegEx, но я немного застрял

Мне было интересно, есть ли у кого-нибудь предложения, спасибо

EDIT: просто сказать {это просто символ не JSON, это может быть% или £

+0

Пожалуйста, пост картину вы застряли с. –

+0

Возможный дубликат [итерации через json-объект javascript] (http://stackoverflow.com/questions/19323699/iterating-through-json-object-javascript) – dave

+0

@dave это не объект JSON, хотя символ может измениться на что-то как% role: Имя роли% –

ответ

2

Вы можете разобрать «ROLE NAME» с этим регулярным выражением: /:(.*?)\W$/. Или вы можете разобрать его String#split и String#slice вот так: s.split(":")[1].slice(0, -1).

Working codepen

+0

@JosephBanks Я должен заметить, что регулярное выражение не будет работать, если в имени роли появится «}». Метод split должен работать с любой парой, если ключевая «роль» не содержит «:». – SimpleJ

+0

Спасибо, я сомневаюсь, что кто-то поставил бы} в имя роли, но я все равно попытаюсь исправить –

+0

Я также отредактировал его, чтобы предположить, что конец строки может быть любым символом без слова (например,% или £). – SimpleJ

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