У меня есть строка, как это:Split содержания строки скобки
Adam Nguyen(adamnguyen)
Что является лучшим способом, чтобы получить две строки "Adam Nguyen"
и "adamnguyen"
?
У меня есть строка, как это:Split содержания строки скобки
Adam Nguyen(adamnguyen)
Что является лучшим способом, чтобы получить две строки "Adam Nguyen"
и "adamnguyen"
?
name, username = /^(.*?)\s*\((.*)\)$/.match('Adam Nguyen (adamnguyen)').captures
"Adam Nguyen(adamnguyen)".split(/[()]+/)
# => ["Adam Nguyen", "adamnguyen"]
большое вам спасибо! –
Я попытался использовать '.split (/ [()] /)' и получить тот же результат. Не могли бы вы объяснить, что делает знак '+' в этом? Я плохо разбираюсь в «REGEX». 1+ –
@GaganGami В этом примере нет ничего плохого с вашим регулярным выражением. Это позволяет избежать пустых строк. Просто чтобы быть в безопасности в более широком диапазоне примеров. – sawa
Дано:
name = 'Adam Nguyen(adamnguyen)';
Если вход всегда не хватает, как, например, и вы не выполняет эту операцию слишком много раз (т.е. производительность не является проблемой), я считаю, следующее, чтобы быть немного более многословным, но более понятным, чем регулярное выражение:
human_readable_name, other_name = name.split('(')
other_name = other_name[0..-2]
но если это необходимо масштабировать, регулярное выражение путь:
human_readable_name, other_name = name.split(/[()]/);
Вопрос о Ruby. Я думаю, что у вас есть другой язык. – sawa
Я отвечал на вопросы JavaScript весь день. Вот что я пытаюсь переключить. Благодарю. –
это работает, спасибо много! –