javascript - 在 Javascript 中拆分时,如何忽略两个已知字符串之间的可变字符串长度?

标签 javascript regex string split

我是 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/

相关文章:

javascript - 无法获取未定义或空引用 ReactJS 的属性 'location'

python - 需要了解如何使用环视来提取非重叠序列

c# - 正则表达式减慢程序

javascript - 正则表达式 : Match string between ampersands

python - 一次替换 Pandas Series 的多个子字符串

javascript - 使用 jQuery 自动更新前端 AJAX 脚本修改

javascript - 无法操作由 AJAX load() 加载的外部 HTML 的 DOM 元素

javascript - 关闭 Fancybox 弹出窗口后如何保留输入字段中的值?

linux - 什么 linux shell 命令返回字符串的一部分?

c - 无法让 fgets() 和 strcat() 以所需的方式运行