【发布时间】:2015-07-02 13:05:03
【问题描述】:
我在 JavaScript 中有一个这样的字符串:
var str = "1:A;2:B;3:A;4:c;5:D";
如何检索2前面的选项,即B。
目前正在使用 for 循环通过将字符串拆分为每个 ; 来实现此目的,
但我想知道是否有更好的方法可以在不使用循环概念的情况下实现这一点。
【问题讨论】:
-
为什么,循环“概念”有什么问题?
-
我的字符串可能包含 2000 个“;” , 所以我认为循环遍历 2000 个元素需要一些时间
-
"1:A;2:B;3:A;4:c;5:D".match(/2\:([A-Za-z]+?)\;/)[1]; -
@KeerthiKumar 无论您做什么,计算机都会循环遍历该字符串,即使您在代码中看不到它,javascript 也会在某个时候在内部执行此操作。循环 2000 次对计算机来说没什么大不了的。
-
@HamzaKubba 首先,我的回答对我来说很好。其次,循环遍历 2000 个项目可能并不慢,但 OP 似乎觉得它效率低下,如果有另一种选择。我会使用我得到的正则表达式
标签: javascript jquery regex