我有一个这样的字符串:
Adam Nguyen(adamnguyen)
获取两个字符串"Adam Nguyen"
和"adamnguyen"
的最佳方法是什么?
答案 0 :(得分:5)
"Adam Nguyen(adamnguyen)".split(/[()]+/)
# => ["Adam Nguyen", "adamnguyen"]
答案 1 :(得分:1)
name, username = /^(.*?)\s*\((.*)\)$/.match('Adam Nguyen (adamnguyen)').captures
答案 2 :(得分:0)
鉴于:
name = 'Adam Nguyen(adamnguyen)';
如果输入总是像示例一样短,并且您没有多次执行此操作(即性能不是问题),我发现以下内容稍微冗长,但比正则表达式更容易理解:
human_readable_name, other_name = name.split('(')
other_name = other_name[0..-2]
但如果需要扩展,那么正则表达式是可行的:
human_readable_name, other_name = name.split(/[()]/);