我有一个格式为James Bond (007)
的字符串。
我希望它转换为{name: "James Bond", code: "007"}
我可以执行for
循环并完成此操作,但我想知道使用regexp是否更容易/更有效。
假设名称或代码中不会有(
或)
。
我在这里使用nodejs。
答案 0 :(得分:1)
skipping incompatible...
另一个选项,支持超过1个空格的名称:
"James Bond (007)".replace(/(.* .*) \(?(.*)\)?/, '{name: "$1", code: "$2"}')
答案 1 :(得分:1)
这里不需要替换,只需
const [, name, number] = "James Bond (007)".match(/(.*?) \((.*?)\)/);
console.log({name, number});