我是 JavaScript 的新手,一般来说是编码的新手,但我正在尝试尽可能多地自学。
我正在尝试从可变字符串中提取数据。原始字符串格式如下:
CAMERA NAME(NUM): North West Rd(D1)
CAMERA NAME(NUM): Even Longer Camera Name(D2)
CAMERA NAME(NUM): Cam13(D13)
我想要的只是最后一个括号内的字符串。我希望有一个拆分功能,我可以按照以下方式说些什么
str.split(CAMERA NAME(NUM): **variable Characters and length** (,);
但我不确定如何解释 (NUM): 和 (
如果有任何建议,我将不胜感激,谢谢!
P.s - 我目前正在使用这种有效的方法,但我想知道如何为 future 的项目考虑可变字符串,因为这几乎肯定会再次出现。
谢谢。 卢克
var txt = msg.payload;
var array = [];
var newTxt = txt.split('(');
//node.warn(newTxt);
for (var i = 1; i < newTxt.length; i++) {
array.push(newTxt[i].split(')')[0]);
}
//node.warn(array[1]);
msg.payload = array[1];
return msg;
最佳答案
如果您的结果总是像您提供的示例一样,您可以使用一个衬垫来完成此操作:
let val = "CAMERA NAME(NUM): North West Rd(D1)"
let res = val.split("(").pop().replace(")", "")
console.log(res)
let val = ["CAMERA NAME(NUM): North West Rd(D1)",
"CAMERA NAME(NUM): Even Longer Camera Name(D2)",
"CAMERA NAME(NUM): Cam13(D13)"
]
val.forEach(i => {
let res = i.split("(").pop().replace(")", "")
console.log(res)
})
在 (
处拆分字符串,使用 pop()
获取数组的最后一个,然后删除 )
关于javascript - 在 Javascript 中拆分时,如何忽略两个已知字符串之间的可变字符串长度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67820554/